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的使用请参考原有文档
相关推荐
本文阐述了如何在Windows下以及linux下使用高性能的日志系统log4cxx。注意,在嵌入式linux的环境下使用的过程中发现有内存泄漏问题。关于该问题的解决参考本人上传的另外一份有关 log4cxx 的文档。
gdal在linux上安装需要的文件比较多,附件包含gdal2.2.3及依赖的文件: proj-4.9.3.tar.gz geos-3.6.2.tar.gz jpegsrc.v9b.tar.gz hdf-4.2.13.tar.gz hdf5-1.10.1.tar.gz ...netcdf-4.4.1.tar.gz ...
centos7编译安装httpd
CentOS 6.8编译安装LNMP环境
boost centos7编译好的完成版本可以直接引入使用
postgresql14加postgis3.2在centos离线编译安装
基于CentOS7 系统下的 ARM 开发板 QT 交叉编译工具,使CentOS7 系统下编译的 QT 程序能够运行在 ARM 开发板上。
在CentOS 6.5 g++版本4.4环境编译好的thrift-0.12.0.tar.gz可执行文件。
在CentOS7虚拟机环境下编译的boost 1.69版本的静态库和动态库,经过测试,编译的库能够正常使用
提示cc:未找到命令,原因是虚拟机系统中缺少gcc,安装一下gcc即可解决问题,下面看一下完整的安装过程。
CentOS7环境下编译的libwebsockets动态库和静态库,经过测试编译的库可以使用
CentOS7环境下编译的openssl 3.0动态库和静态库,经过测试,库可以正常使用
centos6.5下编译安装lamp
CentOS编译安装MYSQL5.6.17---验证成功
centos7编译安装php
CentOS 6.2编译安装LAMP最详细教程!
centos6.7编译hadoop2.6 里面详细的写了过程 。ide为idea,这里注意一下
nginx_在centos环境编译安装
centos7环境下编译opencv4.5.4生成的so和jar
针对在CentOS7.1编译安装mysql-5.7.7遇到各种各样的困难的人,或许有点作用