如何将log4cplus日志文件更改为utf8

时间:2014-06-26 04:34:25

标签: logging utf-8 log4cplus

我已经交了一个使用log4cplus作为记录器应用程序的代码。如何为它生成UTF8日志文件? log4cplus创建的日志文件目前是ASCII格式。

我试过以下

按照Change File Encoding to utf-8 via vim in a script

中的说明设置日志文件的文件编码
vi dataLog.txt
:set bomb
:set fileencoding=utf-8
:wq

我也尝试过更改.properties文件

log4cplus.logger.dl=TRACE,DATA

log4cplus.appender.DATA=log4cplus::RollingFileAppender
log4cplus.appender.DATA.Locale=en-US
log4cplus.appender.DATA.File=/usr/vm/log/data/dataLog.txt
log4cplus.appender.DATA.MaxFileSize=5000KB
log4cplus.appender.DATA.MaxBackupIndex=5
log4cplus.appender.DATA.layout=log4cplus::PatternLayout
log4cplus.appender.DATA.layout.ConversionPattern=%D{%d/%b/%y %H:%M:%S.%q} %-9c %-5p %m%n

我不确定log4cplus的确切版本,但是一个locate导致了以下

/usr/lib/liblog4cplus-1.0.so.4
/usr/lib/liblog4cplus-1.0.so.4.0.0
/usr/lib/liblog4cplus-1.0.so.4.0.0_load
/usr/lib/liblog4cplus.so

1 个答案:

答案 0 :(得分:1)

从log4cplus 1.1.0-RC10开始,您可以将语言环境指定为文件追加者使用的std::filestream。请参阅FileAppender documentation,尤其是Locale属性。在您的情况下,尝试使用en_US.UTF-8填充它。