我配置了log4j SMTPAppender來發送錯誤郵件給我。它的工作原理,但我有非ASCII數據的問題。配置使用HTMLLayout及其文檔狀態:Log4j編碼問題
使用此佈局的附加器應將其編碼設置爲UTF-8或UTF-16,否則包含非ASCII字符的事件可能會導致損壞的日誌文件。
我的日誌文件必須包含UTF-8數據,但我找不到可以在哪裏設置appender編碼。這裏是附加器配置:
<appender name="MAIL" class="org.apache.log4j.net.SMTPAppender">
<param name="BufferSize" value="25" />
<param name="SMTPHost" value="localhost" />
<param name="From" value="[email protected]" />
<param name="Threshold" value="error" />
<param name="To" value="[email protected]" />
<param name="Subject" value="Error Occurred" />
<param name="LocationInfo" value="true"/>
<param name="encoding" value="UTF-8" />
<!-- <param name="Encoding" value="UTF-8"/> -->
<layout class="org.apache.log4j.HTMLLayout">
</layout>
</appender>
當應用程序運行時我:
的log4j:WARN沒有這樣的屬性[編碼]在org.apache.log4j.net.SMTPAppender
還提到所以根據您接受的答案,你有沒有延長SMTPAppender?謹慎給我們來源? – cherouvim 2009-12-08 10:17:50
是的,當然是:http://gist.github.com/252856 – valodzka 2009-12-09 21:48:06