「log4jの基本設定」の版間の差分
ナビゲーションに移動
検索に移動
19行目: | 19行目: | ||
== log4j.xml == | == log4j.xml == | ||
<source lang="xml"> | |||
<?xml version="1.0" encoding="UTF-8" ?> | |||
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> | |||
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/"> | |||
<appender name="consoleAppender" class="org.apache.log4j.ConsoleAppender"> | |||
<param name="threshold" value="TRACE" /> | |||
<layout class="org.apache.log4j.PatternLayout"> | |||
<param name="ConversionPattern" value="%d [%p] %m%n" /> | |||
</layout> | |||
</appender> | |||
<appender name="fileAppender" class="org.apache.log4j.DailyRollingFileAppender"> | |||
<!-- ログのファイル名 --> | |||
<param name="file" value="app.log" /> | |||
<param name="DatePattern" value="'.'yyyy-MM-dd"/> | |||
<param name="threshold" value="TRACE" /> | |||
<param name="append" value="true" /> | |||
<layout class="org.apache.log4j.PatternLayout"> | |||
<param name="ConversionPattern" value="%d [%p] %m%n" /> | |||
</layout> | |||
</appender> | |||
<logger name="log.file"> | |||
<level value="TRACE" /> | |||
<appender-ref ref="fileAppender" /> | |||
</logger> | |||
<root> | |||
<priority value="TRACE" /> | |||
<appender-ref ref="consoleAppender" /> | |||
</root> | |||
</log4j:configuration> | |||
</source> | |||
== Javaソースコード == | == Javaソースコード == | ||
<source lang="java"> | |||
private void output() { | |||
Logger logger = Logger.getLogger("log.file"); | |||
DOMConfigurator.configure("log4j.xml"); | |||
logger.trace("test trace log"); | |||
logger.debug("test debug log"); | |||
logger.info("test info log"); | |||
logger.warn("test warn log"); | |||
logger.error("test error log"); | |||
logger.fatal("test fatal log"); | |||
} | |||
</source> | |||
== 出力結果(ファイル・標準出力両方) == | == 出力結果(ファイル・標準出力両方) == |
2010年2月11日 (木) 12:15時点における版
Javaのロギングフレームワークであるlog4jを使用して、ログ出力を行う手順を記述します。
ログ出力要件
ログの出力要件を以下とします。もちろん、log4jはここに記述した要件以外の処理も行うことができます。
- 標準出力とファイルに出力する
- ログファイル名は「app.log」
- ログファイルは一日毎にローテートする
- 出力形式は「日時 [重要度] メッセージ」とする
- log4jの定義はXMLファイルで行う
環境
- Java 1.5.0
- Windows 7 32bit
- log4j version 1-2-15
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 name="consoleAppender" class="org.apache.log4j.ConsoleAppender">
<param name="threshold" value="TRACE" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d [%p] %m%n" />
</layout>
</appender>
<appender name="fileAppender" class="org.apache.log4j.DailyRollingFileAppender">
<!-- ログのファイル名 -->
<param name="file" value="app.log" />
<param name="DatePattern" value="'.'yyyy-MM-dd"/>
<param name="threshold" value="TRACE" />
<param name="append" value="true" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d [%p] %m%n" />
</layout>
</appender>
<logger name="log.file">
<level value="TRACE" />
<appender-ref ref="fileAppender" />
</logger>
<root>
<priority value="TRACE" />
<appender-ref ref="consoleAppender" />
</root>
</log4j:configuration>
Javaソースコード
private void output() {
Logger logger = Logger.getLogger("log.file");
DOMConfigurator.configure("log4j.xml");
logger.trace("test trace log");
logger.debug("test debug log");
logger.info("test info log");
logger.warn("test warn log");
logger.error("test error log");
logger.fatal("test fatal log");
}
出力結果(ファイル・標準出力両方)
2010-02-11 20:17:09,573 [TRACE] test trace log 2010-02-11 20:17:09,573 [DEBUG] test debug log 2010-02-11 20:17:09,573 [INFO] test info log 2010-02-11 20:17:09,573 [WARN] test warn log 2010-02-11 20:17:09,573 [ERROR] test error log 2010-02-11 20:17:09,573 [FATAL] test fatal log
参考
更新履歴
- 2010/02/11
- ページ作成