我已经交了一个使用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
答案 0 :(得分:1)
从log4cplus 1.1.0-RC10开始,您可以将语言环境指定为文件追加者使用的std::filestream
。请参阅FileAppender documentation,尤其是Locale
属性。在您的情况下,尝试使用en_US.UTF-8
填充它。