1

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

我已经尝试了以下

按照在脚本中通过 vim 将文件编码更改为 utf-8 中的说明设置日志文件的文件编码

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 的确切版本,但是定位结果如下

/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
4

1 回答 1

1

从 log4cplus 1.1.0-RC10 开始,您可以指定std::filestream文件附加程序使用的区域设置。请参阅FileAppender 文档,尤其是Locale属性。在你的情况下,试着用en_US.UTF-8.

于 2014-06-29T17:53:13.980 回答