Log4j 2 をとりあえず使ってみる (ConsoleAppender、FileAppender)
Log4j 2 をちょっとごにょごにょさわってみました。今回はとりあえず ConsoleAppender と FileAppender を使うサンプルとしてます。
・Log4j – Log4j 2 Guide - Apache Log4j 2
http://logging.apache.org/log4j/2.x/
・Log4j – Log4j 2 Appenders - Apache Log4j 2
http://logging.apache.org/log4j/2.x/manual/appenders.html
Log4j 2 では設定ファイルについては XML、JSON、YAML、properties で書けるみたいですが、今回は XML で。
・Log4j – Configuring Log4j 2 - Apache Log4j 2
http://logging.apache.org/log4j/2.x/manual/configuration.html
以下の感じです。
■ log4j2.xml
<?xml version="1.0" encoding="UTF-8"?> <Configuration status="WARN"> <Appenders> <Console name="console" target="SYSTEM_OUT"> <PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/> </Console> <File name="file" fileName="test.log"> <PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/> </File> </Appenders> <Loggers> <!-- test.Log4jTest のロガーの設定 --> <Logger name="test.Log4j2Test" level="info"> <AppenderRef ref="file"/> </Logger> <!-- ルートロガーの設定 --> <Root level="info"> <AppenderRef ref="console"/> </Root> </Loggers> </Configuration>
ログ出力させるコードは以下の感じ。
■ Log4jTest.java
package test; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; public class Log4j2Test { private static final Logger logger = LogManager.getLogger(Log4j2Test.class); public static void main(String[] args) { logger.info("log4j test !!"); } }
■ 結果
23:26:58.203 [main] INFO test.Log4j2Test - log4j test !! - console test ( ConsoleAppender の結果 ) 23:26:58.203 [main] INFO test.Log4j2Test - log4j test !! - file test ( FileAppender の結果 )
今回はひとまずこんなところとしておきます。以上です。
[ 環境情報 ]
Windows 7 SP1
Java SE 8 Upate 25
Log4j 2.5
※ しかし初回リリースは 2012 年と結構前なんですね・・・
・Log4j – Changes - Apache Log4j 2
http://logging.apache.org/log4j/2.x/changes-report.html#a1.0-alpha1