Log4J
例外発生時、スタックトレースもログに出させる
try {
...
} catch(Exception e) {
logger.error(e);
}
とやってもスタックトレースは出ない。
logger.error(e.getMessage(), e);
というように第一引数がString,第二引数がThrowableになっているやつを利用すれば出る。
DailyRollingFileAppenderのログ消失の件
DailyRollingFileAppenderで、日付ファイルに更新するときに失敗してログが消失する罠は、
最新版(2010年4月リリース)の1.2.16で修正された。らしい。
log4j.xml サンプル
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j='http://jakarta.apache.org/log4j/'>
<!-- *** Appender *** -->
<!-- コンソール -->
<appender name="STDOUT" class="org.apache.log4j.ConsoleAppender" >
<param name="threshold" value="DEBUG"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d %-5p [%t] (%F:%L) - %m%n"/>
</layout>
</appender>
<!-- ファイル(ファイル名日替わり) -->
<appender name="DAILY" class="org.apache.log4j.DailyRollingFileAppender">
<param name="file" value="C:\\temp\daily.log" />
<param name="threshold" value="DEBUG"/>
<param name="append" value="true" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d %-5p (%F:%L) - %m%n"/>
</layout>
</appender>
<!-- *** Category *** -->
<category name="test.test.test">
<appender-ref ref="DAILY" />
</category>
<root>
<appender-ref ref="STDOUT" />
</root>
</log4j:configuration>
.
最終更新:2012年11月07日 11:03