如何将 log4cplus 日志文件更改为 utf8
Posted
技术标签:
【中文标题】如何将 log4cplus 日志文件更改为 utf8【英文标题】:how to change log4cplus log file to utf8 【发布时间】:2014-06-26 04:34:24 【问题描述】:我收到了一个使用 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 的确切版本,但是定位结果如下
/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】:从 log4cplus 1.1.0-RC10 开始,您可以将语言环境指定到文件附加程序使用的 std::filestream
中。请参阅FileAppender documentation,尤其是Locale
属性。在你的情况下,试着用en_US.UTF-8
灌输它。
【讨论】:
以上是关于如何将 log4cplus 日志文件更改为 utf8的主要内容,如果未能解决你的问题,请参考以下文章