Log4j2 を使ったプロジェクト情報のロギング

JavaScriptBeginner
オンラインで実践に進む

はじめに

このプロジェクトでは、Log4j2 ロギングフレームワークを Spring Boot アプリケーションに統合する方法を学びます。コンソールとログファイルの両方にプロジェクト情報をログに記録するように Log4j2 を構成します。

👀 プレビュー

Log4j2 構成プレビュー

Log4j2 構成例

🎯 タスク

このプロジェクトで学ぶことは以下の通りです。

  • pom.xmlファイルを変更して必要な Log4j2 依存関係を追加する方法
  • application.propertiesファイルで Log4j2 を構成する方法
  • DemoApplication.javaファイルでロガーを作成し、異なるログレベルを使用して情報をログに記録する方法
  • Spring Boot アプリケーションをパッケージ化して実行し、ログに記録された情報を表示する方法

🏆 成果

このプロジェクトを完了すると、以下のことができるようになります。

  • Spring Boot アプリケーションで Log4j2 ロギングフレームワークを使用する
  • コンソールとログファイルに情報をログに記録するように Log4j2 を構成する
  • ロガーを作成し、異なるログレベルを使用して情報をログに記録する
  • Spring Boot アプリケーションをパッケージ化して実行する

pom.xml ファイルを変更する

この手順では、Log4j2 ロギングフレームワークを Spring Boot プロジェクトに統合するために、pom.xmlファイルをどのように変更するか学びます。

  1. springbootlog4j2プロジェクトのpom.xmlファイルを開きます。

  2. <dependencies>セクションにspring-boot-starter-log4j2依存関係を追加します。

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-log4j2</artifactId>
</dependency>
  1. デフォルトの Logback 依存関係を除外するには、以下のコードを<dependencies>セクションに追加します。
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter</artifactId>
    <exclusions>
        <exclusion>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-logging</artifactId>
        </exclusion>
    </exclusions>
</dependency>

これにより、プロジェクトではロギングフレームワークとして Log4j2 のみが使用されるようになります。

application.properties ファイルで Log4j2 を構成する

この手順では、application.propertiesファイルで Log4j2 ロギングフレームワークをどのように構成するか学びます。

  1. /src/main/resources/ ディレクトリ内の application.properties ファイルを開きます。

  2. 次の行をファイルに追加します。

logging.config=classpath:log4j2.xml

この行は、Spring Boot アプリケーションに対して、クラスパス内にある log4j2.xml 構成ファイルを使用するように指示します。

DemoApplication.java ファイルを変更する

この手順では、DemoApplication.javaファイルでロガーを作成し、異なるログレベルを使用して情報をログに記録する方法を学びます。

  1. /src/main/java/org/labex/springbootlog4j2/ ディレクトリ内の DemoApplication.java ファイルを開きます。

  2. 以下のコードを使用してロガーオブジェクトを作成します。

private static final Logger logger = LoggerFactory.getLogger(DemoApplication.class);
  1. sayhello() メソッドに、以下のログ文を追加します。
logger.error("This is an error message");
logger.warn("This is a warning message");
logger.info("This is an info message");
logger.debug("This is a debug message");
  1. 関連するクラスをインポートする必要があることに注意してください。
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

これらのログ文は、対応するログレベルを使用して情報をログに記録します。

アプリケーションをパッケージ化して実行する

この手順では、Spring Boot アプリケーションをパッケージ化して実行する方法を学びます。

  1. ターミナルを開き、springbootlog4j2 プロジェクトディレクトリに移動します。

  2. アプリケーションをパッケージ化するには、次のコマンドを実行します。

cd springbootlog4j2
mvn clean package

これにより、target ディレクトリに JAR ファイルが生成されます。

Spring Boot パッケージコマンド

  1. 次のコマンドを使用してアプリケーションを実行します。
mvn spring-boot:run

サービスを起動した後、まず環境の上の Web 8080 をクリックすると、以下の実行結果が表示され、その後コンソールに戻って記録された情報を確認できます。

Spring Boot アプリケーションの実行

  1. ログファイルを表示するには、プロジェクト内の logs ディレクトリに移動します。Log4j2 構成によって作成されたログファイルが表示されるはずです。

ログファイルディレクトリの表示

おめでとうございます!Log4j2 ロギングフレームワークを Spring Boot プロジェクトに正常に統合し、コンソールとログファイルに情報をログに記録するように構成しました。

まとめ

おめでとうございます!このプロジェクトを完了しました。実力を向上させるために、LabEx でさらに多くの実験を行ってみてください。

✨ 解答を確認して練習✨ 解答を確認して練習✨ 解答を確認して練習✨ 解答を確認して練習