web-dev-qa-db-ja.com

slf4jからのロギングをオフにする方法

これは、アプリサーバーで大量のログエントリを生成するサードパーティのアプリケーションです。このような:

[03.03.10 15:21:57:250 CET] 00000180 FtpProtocolHa I org.slf4j.impl.JCLLoggerAdapter info Close connection : 10.227.10.10 - admin
[03.03.10 15:27:35:209 CET] 00000181 MinaFtpProtoc I org.slf4j.impl.JCLLoggerAdapter info [/10.227.10.10] CLOSED
++++

Slf4jからのこの出力をオフにするにはどうすればよいですか? .warファイルを調べて、slf4jの構成を見つけましたが、何も見つかりませんでした。彼らのウェブサイトも助けにはならなかった

18
Tommy

slf4jは実際のログバックエンド(ここではジャカルタコモンズロギングをオーバーライドする)への目標到達プロセスであり、特定の種類のメッセージを取り除くために構成する必要があります。ログバックの場合、これは適切な構成スニペットです。

    <!--  No Tomcat debug logs -->
    <configuration>
    ...
        <logger name="org.Apache.catalina.core" level="OFF" />
    ...
    </configuration>

Log4jの場合も同様です。

または、ダウンロード http://www.slf4j.org/dist/slf4j-1.6.4.tar.gz を探し、そこにslf4j-nop-1.6.4.jar(これはno -operation logger)を使用して、これをクラスパスに含めます。 SLF4Jクラスローダーがこれを見ると(使用できるクラスパスにロガーが何であるかを調べます)、ロギングを停止しますアプリを再起動しました)。

少なくともこの方法で、ログ構成ファイルをいじる必要はありません...

14
Spider

どのロギングバックエンド(例: logback、log4j、j.u.l。、使用していますか?これらのメッセージをフィルタリングするようにバックエンドを構成する必要があります。

さらに、ログメッセージが「org.slf4j.impl.JCLLoggerAdapter "は、発信者の位置推定が正しく機能していないことを示します(実際の発信者はJCLLoggerAdapterではないことに注意してください)。次の場合:

  1. 古いバージョンのSLF4Jを使用している

または

  1. 呼び出し元がslf4jのようなラッパーを使用しているか、呼び出し元の場所を適切に推測しない独自のロギングAPIを持っています。関連する SLF4J FAQ entry も参照してください。
3
Ceki

slf4jは、さまざまなロギングフレームワークのロギングファサードです。その出力は、Apache Commons Logginフレームワークアダプターからのもので、別のファサードになります。 Commons Logging Configuration

2
rodrigoap

次の文字列を検索します:level="DEBUG"[〜#〜] ide [〜#〜]を使用します。そのテキストは。xmlファイルにあります。

そこに行き、level="INFO" の代わりに level="DEBUG"

キー値では大文字と小文字が区別されません。

次のようなものがあります:

<root level="info">
    ...
</root>
0