Help us understand the problem. What is going on with this article?

Log4j 2.0を使用してみる

More than 1 year has passed since last update.

はじめに

簡単にではありますが、備忘目的でlog4j 2.0 の使用方法を記載します。
小さなJavaアプリを作成する際に使用する為、調査。

Maven依存関係定義

ライブラリ管理で利用しているMavenにlog4jを追加

pom.xml
<dependencies>
    <dependency>
        <groupId>org.apache.logging.log4j</groupId>
        <artifactId>log4j-api</artifactId>
        <version>2.10.0</version>
    </dependency>
    <dependency>
        <groupId>org.apache.logging.log4j</groupId>
        <artifactId>log4j-core</artifactId>
        <version>2.10.0</version>
    </dependency>
</dependencies>

設定ファイル作成

標準出力にログを出力するよう設定。

log4j2.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE project>
<Configuration status="off">
    <Properties>
        <Property name="format1">%d{yyyy/MM/dd HH:mm:ss.SSS} [%t] %-6p %c{10} %m%n</Property>
    </Properties>
    <Appenders>
        <Console name="Console" target="SYSTEM_OUT">
            <PatternLayout>
                <pattern>${format1}</pattern>
            </PatternLayout>
        </Console>
    </Appenders>

    <Loggers>
        <Root level="trace">
            <AppenderRef ref="Console" />
        </Root>
    </Loggers>
</Configuration>

実装

ロガーの名称はlookupを使用してコピペするだけで済むようにする。

public class Hoge {
  private static final Logger logger = LogManager.getLogger(MethodHandles.lookup().lookupClass());

  public void sayHoge() {
    logger.info("hoge hoge");
  }
}
mato-599
知識の整理と共有を目的とし、プログラミングからインフラ系まで幅広く書こうと思います。 仕事はSAP関連を中心にインフラ領域からMW領域まで幅広く担当中。
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away