爲了防止log4j產生的日誌出現亂碼,我們可以指定其編碼方式,如使用UTF-8。
在log4j.priority文件中,增加一行配置即可解決:
log4j.appender.YourAppender.Encoding=UTF-8
但是有的時候需要動態設置appender
RollingFileAppender = new RollingFileAppender(layout, logfile, true);
RollingFileAppender.setEncoding("UTF-8");
但是這樣設置並不能生效,生成的日誌文件的編碼方式並沒有被指定爲UTF-8,必須在後面加上一行
RollingFileAppender.activateOptions();
表示適用當前配置才能生效,否則還會適用log4j默認的配置。