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プロジェクトの作成
ターミナルから、プロジェクトの雛形を生成します。
mvn archetype:generate -DgroupId=com.example -DartifactId=my-app -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false
3. 外部ライブラリの導入(pom.xml)
Mavenで外部ライブラリを使うには、pom.xml の <dependencies> セクションに定義を追記します。今回はログ出力ライブラリ「Log4j2」を導入します。
<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 に、導入したライブラリを使ってログを出力するコードを記述します。
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 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 を挟むことで、設定ファイルの反映を確実に行います。
mvn clean compile exec:java -Dexec.mainClass="com.example.App"
実行ログ
無事に外部ライブラリを経由したログが出力されました。
[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 件のコメント:
コメントを投稿