log4cxx0.10.0 版本在 Linux 无法输出中文的问题
文章目录
最近在 Linux 下使用 log4cxx 库,使用的 log4cxx 版本为 0.10.0,结果无法显示中文日志信息。
这可怎么办呢?我不可能把中文日志全部一行一行替换为英文的,这可是一个非常傻B的举动。
经过研究,终于知道需要经过如下步骤才能让 log4cxx 在 Linux 下正常显示中文日志:
-
你可以先 locale 检查一下 Linux 终端环境是不是 zh_CN ;
$ locale
-
如果你的是 en_US 之类的编码,则需要把 locale 设置为简体中文:
$ export LC_ALL=“zh_CN.UTF-8”
如果你的系统提示说没有安装本字符集,则需要用命令进行安装:
<pre>$ sudo apt-get install language-pack-zh-hans
- 在程序里设置应用程序的 locale 和终端一样:
LoggerPtr logger; log4cxx::PropertyConfigurator::configure("./log4cxx.properties"); logger= Logger::getLogger(“test”) ; logger->info((“Start logging”)); setlocale(LC_ALL, “zh_CN.UTF-8”);
关键是最后这一句 setlocale,要设置得和终端一样,都是 zh_CN.UTF-8。
这样,你的程序就可以用 log4cxx0.10.0 输出中文日志信息了。
文章作者 cookwhy
上次更新 2011-12-14