log4cxx-0.10.0日志中文乱码
log4cxx升级到0.10.0后, 发现中文输出为乱码.
其实应该是中文变成了问号, 不是乱码.
问号在logcxx中表示编解码过程中的字符丢失.
enum { LOSSCHAR = 0x3F };
如果中文按ASCII解码, 因为字符大于0x80, 都会被变成问号.
修改办法,进入log4cxx-0.10.0目录,
./configure --with-charset=utf-8 --with-logchar=utf-8
then
make
sudo make install
(参考: http://cooling.ape-tech.com/bbs/thread-2084-1-1.html) 或者 另外,发现打印出的日志在某些机器上不支持中文, 中文显示为乱码,通过在配置文件中增加如下配置项即可解决:
log4j.appender.sample.encoding=UTF-8,这里,sample即为你的日志类
1 下载 http://logging.apache.org/log4cxx/ 依赖于 http://apr.apache.org/ 的 APR 及 APR-Util包 (1)安装 安装顺序不能变。首先要安装APR,下载到源码安装包后,解压出来,然后: (1)./configure --prefix=/usr/local/apr make make install 这里把APR安装到了 /usr/local/apr 目录下,注意,千万不要直接./configure,因为那样会把APR的文件安装到若干目录下,非常不利于维护。 再安装APR-Util,和上面一样,解压出来源码安装包,然后: (2) ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr make make install 这里,通过 –with-apr 参数指定了前一步安装的APR的目录,同时也将APR-Util的安装目录设置在了/usr/local/apr-util 目录下。 (3) 最后,就是安装log4cxx了,但是在安装之前,还要再注意一点:configure的时候要指定APR和APR-Util的安装路径: ./configure --prefix=/usr/local/log4cxx --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util mv libtool libtool.bak ln -s /usr/bin/libtool libtool make // 这里会出错 错误解决请看下面 make install 注意,中间有两条匪夷所思的命令(mv 和 ln -s),如果不执行的话,会报错(我不太记得是在configure的时候还是make的时候报的错了): 特别注意: vi src/examples/cpp/console.cpp 中添加 #include <stdio.h>和#include <string.h> vi src/main/cpp/socketoutputstream.cpp 中添加 #include <string.h> vi src/main/cpp/inputstreamreader.cpp 中添加 #include <string.h> 2 编译 包含 /usr/local/apr/include /usr/local/log4cxx/include 及 /usr/local/apr-util/include 到工程目录中 3 链接 在链接时 需 包含 头文件及 libaprutil-1.a liblog4cxx.a 及 libapr-1.a 静态库 及 -lpthread -lexpat 选项 如果出现 /usr/bin/ld: cannot find -lexpat 错误 请安装 expat.i686 及 expat-devel.i686 包 4 log4cxx的使用请参考原有文档
相关推荐
然后在Visual Studio中打开`log4cxx.dsw`项目,选择“build”->“build log4cxx.dll”以生成动态链接库和库文件。 **二、Linux下的安装** 1. **安装apr**:解压`apr-1.4.5`,使用`./configure --prefix=/usr/local...
解决:添加编译参数-fpermissive [root@localhost tfs_release-2.2.16]# vim src/name_meta_server/Makefile CXXFLAGS = -g -D__STDC_LIMIT_MACROS -Wall -Wextra -Wunused-parameter -Wformat -Wconversion -...
而其他列出的RPM包如"xerces-c"、"tncfhh"、"log4cxx"、"tncfhh-libs"、"tncfhh-utils"、"apr"和"apr-util",则为FreeRADIUS提供运行所需的基础环境和扩展功能。"readme.md"文件通常包含了安装指南、配置说明和使用...
在Linux系统下,特别是CentOS这样的发行版中,通过源码编译的方式安装MySQL不仅可以获得更高的性能,还能根据实际需求进行定制化配置。下面是具体的步骤: ##### 2.1 准备工作:构建编译环境 在开始MySQL的编译...
4. **未找到Curses库**: MySQL的源码编译过程中,CMake还会检查Curses库,这是用于终端处理的库。如果未安装,需要安装`ncurses-devel`包,对于Redhat和其衍生版,命令是`yum install ncurses-devel -y`。 5. **...