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>

 

実行結果

 

 

特集記事

Posted by @erestage