log4jの基本設定
ナビゲーションに移動
検索に移動
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
- ページ作成