vs2010+win7编译log4cxx顺便解决输出问号乱码

来源:互联网 发布:visual studio写java 编辑:程序博客网 时间:2024/06/05 15:09

声明:因为编译是参考网上的,所以就写成转载的:


1、到官网下载:

http://apr.apache.org/

http://logging.apache.org/

apr-iconv

APR-util
APR
log4cxx

这3个文件,到你自己的目录、重命名为这种格式:



2、编译参考:

注意:考虑到最后需要解决乱码问题,所以在此之前需要更改:

路径:\apr\apache-log4cxx\src\main\include\log4cxx\log4cxx.hw


#define LOG4CXX_LOGCHAR_IS_UTF8 0
#if LOG4CXX_LOGCHAR_IS_UTF8
#define LOG4CXX_LOGCHAR_IS_WCHAR 0
#else
#define LOG4CXX_LOGCHAR_IS_WCHAR 1
#endif
#define LOG4CXX_LOGCHAR_IS_UNICHAR 0


更改为:


#define LOG4CXX_LOGCHAR_IS_UTF8 1
#if LOG4CXX_LOGCHAR_IS_UTF8
#define LOG4CXX_LOGCHAR_IS_WCHAR 0
#else
#define LOG4CXX_LOGCHAR_IS_WCHAR 1
#endif
#define LOG4CXX_LOGCHAR_IS_UNICHAR 0

然后参考这个(请看最上面的声明):

http://blog.sina.com.cn/s/blog_a459dcf501013tbn.html


3、编译成功后根据我自己的环境是输出乱码(中文问号)的,不管是控制台还是log文件都是乱码解决办法:

控制台乱码:


需要加上: setlocale(LC_ALL, ""); 这句


log文件乱码:



需要加上:

log4j.appender.ca.encoding=UTF-8

log4j.appender.fa.encoding=UTF-8



好了,这样设置了都能正常显示效果:




好了,大家有什么问题可以留言!!






0 0
原创粉丝点击