JavaRush /Java Blog /Random-JA /ロギングを JavaRush プロジェクト (slf4f および log4j) に接続します。
Дмитрий Яковенко
レベル 35
Москва

ロギングを JavaRush プロジェクト (slf4f および log4j) に接続します。

Random-JA グループに公開済み
Maven を JavaRush プロジェクトに接続する方法は、私のこの記事で読むことができます。以下では、これを行う方法を知っていることを前提としています。 slf4j を使用したい場合は、依存関係が必要です。
<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-api</artifactId>
    <version>1.7.30</version>
</dependency>
この後、次のことを行います。
public static void main(String[] args) throws IOException {
    Logger logger = LoggerFactory.getLogger(Solution.class);
    logger.info("hello world!");
}
そして、次のエラーが表示されます。
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
これは一般的に論理的です。slf4j はラッパーですが、何をラップしたのでしょうか? 何もない?エラーが発生しました。log4j、util.logging、NOP、System.err、JCL、logback のいずれかをラップできます。詳細については、元の説明書を参照してください。log4j と System.err の例を見てみましょう。 1) System.err という単純なものから始めましょう。これを行うには、これ (slf4j-simple) を前の依存関係 (slf4j-api) に追加します。
<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-simple</artifactId>
    <version>1.7.30</version>
</dependency>
同じバージョンを採用しており、2021 年 5 月 10 日時点では 1.7.30 です。https://mvnrepository.com/から依存関係を取得する場合は、忘れずに削除してください
<scope>test</scope>
そうしないと、ログはテストでのみ機能します。 2) 次に、 log4j を構成してみましょう。このためには、log4j 自体と slf4j と log4j の間の層 (slf4j-log4j12) の 2 つの依存関係を追加する必要があります。次のようになります。
<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-log4j12</artifactId>
    <version>1.7.30</version>
</dependency>
<dependency>
    <groupId>log4j</groupId>
    <artifactId>log4j</artifactId>
    <version>1.2.17</version>
</dependency>
slf4j がどのロガーを使用するべきかについて混乱しないように、(slf4j-simple) を削除する必要があることは明らかです。これは slf4j なので、(slf4j-api) のままにしておきます。追加された2つの依存関係について。log4j には古いものを追加しています (2012 年 5 月以降、理由はわかりませんが、他のものを試すことができます)。バージョンは1.2.17です。slf4j が動作するには、適切なレイヤー slf4j-log4j12 が必要です。最後の文字 (12) は log4j のバージョンを意味します。この場合、slf4j-api と slf4j-log4j12 のバージョンは、現時点での最新の安定バージョンである 1.7.30 である必要があります。依存関係を接続し、Maven プロジェクトを更新した後。log4j が機能するには、さらに 2 つのことが必要です。 1) 構成ファイルをセットアップします。私たちは読んで、選択し、コピーします。 2) 作業前に log4j 設定を読み取ります。
PropertyConfigurator.configure("d:\\Java\\JavaRushTasks\\4.JavaCollections\\log4j.properties");
そうですね、またはファイルがある場所。すべてのログを表示したい場合は、ログ レベルを ALL に設定することを忘れないでください。履歴書に log4j と slf4j を追加します。あなたは素晴らしいです!それが役に立った場合 - いいね、購読、ベル!)))
コメント
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION