2026年1月29日木曜日

【Java】Mavenで外部ライブラリ(Log4j2)を導入し、ログ出力させるまでの全手順

 Java開発の標準ツール「Maven」を使い、外部ライブラリ(今回はLog4j2)をプロジェクトに組み込んで実際に動作させるまでの流れを解説します。

単純にライブラリを追加するだけでなく、実際にログが表示されるまでの「設定のポイント」についても触れます。


1. 開発環境(Mac)


今回の検証環境です。

  • OS: macOS Sequoia 15.6.1

  • Java: javac 25.0.1

  • Maven: Apache Maven 3.9.12

    Bash
    % mvn -version
    Apache Maven 3.9.12 (848fbb4bf2d427b72bdb2471c22fced7ebd9a7a1)
    


2. Mavenプロジェクトの作成


ターミナルから、プロジェクトの雛形を生成します。

Bash
mvn archetype:generate -DgroupId=com.example -DartifactId=my-app -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false


3. 外部ライブラリの導入(pom.xml)


Mavenで外部ライブラリを使うには、pom.xml<dependencies> セクションに定義を追記します。今回はログ出力ライブラリ「Log4j2」を導入します。

XML
<dependencies>
    <dependency>
        <groupId>org.apache.logging.log4j</groupId>
        <artifactId>log4j-api</artifactId>
        <version>2.20.0</version>
    </dependency>
    <dependency>
        <groupId>org.apache.logging.log4j</groupId>
        <artifactId>log4j-core</artifactId>
        <version>2.20.0</version>
    </dependency>
</dependencies>


4. プログラムの実装


src/main/java/com/example/App.java に、導入したライブラリを使ってログを出力するコードを記述します。

Java
package com.example;

import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;

public class App {
    private static final Logger logger = LogManager.getLogger(App.class);

    public static void main(String[] args) {
        logger.info("Hello, Maven! Log4jでログを出力しました。");
    }
}


5. ログを表示させるための重要設定(XML)


外部ライブラリを導入しただけでは、ログレベルの設定によりメッセージが表示されないことがあります。 src/main/resources/log4j2.xml を作成し、出力設定を記述します。

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>
    </Appenders>
    <Loggers>
        <Root level="info">
            <AppenderRef ref="Console"/>
        </Root>
    </Loggers>
</Configuration>


6. 実行と結果確認


Mavenコマンドでコンパイルと実行を行います。clean を挟むことで、設定ファイルの反映を確実に行います。

Bash
mvn clean compile exec:java -Dexec.mainClass="com.example.App"

実行ログ

無事に外部ライブラリを経由したログが出力されました。

Plaintext
[INFO] 
[INFO] --- exec:3.6.3:java (default-cli) @ my-app ---
20:24:06.080 [com.example.App.main()] INFO  com.example.App - Hello, Maven! Log4jでログを出力しました。
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------


まとめ


Mavenを使えば、pom.xml に定義を書くだけで簡単に外部ライブラリを導入できます。 ただし、今回のようなログライブラリの場合、「ライブラリの導入」と「設定ファイル(XML)の配置」はセットであるという点に注意が必要です。





0 件のコメント:

コメントを投稿

【Java】Maven×H2で作る「消える」データベース環境:macOS Sequoiaでの検証ガイド

 Java開発において、データベース(DB)操作の習得は必須です。今回は Maven を使用してプロジェクトを構築し、アプリ終了と共にデータが消える H2インメモリデータベース を、Javaプログラムから制御する手順を解説します。 1. 開発環境(Mac) 今回の検証は以下の最新...