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 に答える