Log4jからLogbackに変更する

やりたいこと

色々バグのあったLog4jのログ出力部分のみを、Logbackに変更する。ソースコードには変更が入らないように移行する。

変更前

下記の例ではLog4j-core-2.18.0.jarが読み込まれて、ログ出力を行っている。

        <dependency>
            <groupId>org.apache.logging.log4j</groupId>
            <artifactId>log4j-slf4j-impl</artifactId>
            <version>2.18.0</version>
        </dependency>

Javaコードは下記のように記述されている。

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

public class SampleImpl {
    private static final Logger log = LogManager.getLogger(SampleImpl.class);

変更後

依存関係にlogback-classic、logback-coreを追加する。log4j-slf4j-implをlog4j-to-slf4jに変更する。

        <dependency>
            <groupId>ch.qos.logback</groupId>
            <artifactId>logback-classic</artifactId>
            <version>1.4.1</version>
        </dependency>
        <dependency>
            <groupId>ch.qos.logback</groupId>
            <artifactId>logback-core</artifactId>
            <version>1.4.1</version>
        </dependency>
        <dependency>
            <groupId>org.apache.logging.log4j</groupId>
            <artifactId>log4j-to-slf4j</artifactId>
            <version>2.18.0</version>
        </dependency>

これで、logback-core-1.4.1.jarでログが出力されるようになる。Javaコードがコンパイルエラーになることもない。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です