Log4j2を使ってみよう!
Log4jの後継、Log4j2を使ってみよう
Log4jは2015年にEOLとなり、メンテナンスが終了しています。新規プロジェクトには後継となるLog4j2の使用が推奨されています。一見して単純なバージョンアップで、Jarファイルの差し替えで何とかなりそうな気配がしますが、実際にはそんなに簡単にはいきません。そのせいで普及率がイマイチなのですが、ここでは、Log4j2の簡単な使い方を紹介します。
Jarファイルの取得
ライブラリは以下の場所からダウンロードできます。
http://logging.apache.org/log4j/2.x/download.html
プログラム
package jp.co.log4j; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; public class LogTest { /** * Log4j */ private Logger log = LogManager.getLogger(LogTest.class); LogTest() { log.info("じょうほうがあります"); log.error("ただしくありません"); log.debug("でばっぐするよ"); try { throw new Exception(); } catch (Exception e) { log.error("れいがい", e); } } /** * @param args */ public static void main(String[] args) { new LogTest(); } }
設定ファイル(log4j2.xml)
<?xml version="1.0" encoding="UTF-8" ?> <configuration> <appenders> <Console name="console"> <PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss} [%-5p] %m (%C{1}:%L)%n" /> </Console> <RollingFile name="file" fileName="log/system.log" filePattern="log/system_{yyyy-MM-dd}%d.log"> <PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss} [%-5p] %m (%C{1}:%L)%n"/> <Policies> <TimeBasedTriggeringPolicy /> </Policies> </RollingFile> </appenders> <loggers> <root level="info"> <appender-ref ref="console" /> <appender-ref ref="file" /> </root> </loggers> </configuration>
実行結果