3

Jettyで初めてログバックを使用しています。私はすべてが機能していますが、理解できない厄介なことが1つあります。Jettyが起動すると、次のようなログファイルを取得し始めます。

2013-03-02 11:19:23.933:DBUG:oeju.Scanner:scanned [C:\Code\jetty-8\contexts]: {}
2013-03-02 11:19:24.646:DBUG:oeju.Scanner:scanned [C:\Users\willie\AppData\Local\Temp\context5868271910991031759deploy]: {}
2013-03-02 11:19:24.938:DBUG:oeju.Scanner:scanned [C:\Code\jetty-8\webapps]: {}
2013-03-02 11:19:24.943:DBUG:oeju.Scanner:scanned [C:\Code\jetty-8\contexts]: {}
2013-03-02 11:19:25.655:DBUG:oeju.Scanner:scanned [C:\Users\willie\AppData\Local\Temp\context5868271910991031759deploy]: {}
2013-03-02 11:19:25.948:DBUG:oeju.Scanner:scanned [C:\Code\jetty-8\webapps]: {}
2013-03-02 11:19:25.952:DBUG:oeju.Scanner:scanned [C:\Code\jetty-8\contexts]: {}
2013-03-02 11:19:26.665:DBUG:oeju.Scanner:scanned [C:\Users\willie\AppData\Local\Temp\context5868271910991031759deploy]: {}
2013-03-02 11:19:26.958:DBUG:oeju.Scanner:scanned [C:\Code\jetty-8\webapps]: {}
2013-03-02 11:19:26.963:DBUG:oeju.Scanner:scanned [C:\Code\jetty-8\contexts]: {}
2013-03-02 11:19:27.675:DBUG:oeju.Scanner:scanned [C:\Users\willie\AppData\Local\Temp\context5868271910991031759deploy]: {}
2013-03-02 11:19:27.968:DBUG:oeju.Scanner:scanned [C:\Code\jetty-8\webapps]: {}
2013-03-02 11:19:27.973:DBUG:oeju.Scanner:scanned [C:\Code\jetty-8\contexts]: {}

ログバックでのフィルタリングの構文は少しわかりにくいので、これらのスキャンイベントを無視するようにログバックに指示する方法がわかりません。私は明白なことを試みました

<filter class="oeju.Scanner" />

しかし、それは機能しません。誰かが私にこれについて少し助けてくれますか?

4

1 に答える 1

3

表示されているログ形式はログバックではありません

2013-03-02 11:19:26.665:DBUG:oeju.Scanner:scanned ....

これは、Jetty自身の内部StdErrLogが生成するログ形式です。したがって、ログバックでフィルタリングすることは(まだ)機能しません。

Jettyでログバックを機能させる方法

まず、サーバーのクラスパスにslf4j-apiとlogbackjarが存在することを確認します。

これを実現する最も簡単な方法は、それらを挿入${jetty.home}/lib/ext/し、コマンドラインで簡単にチェックしてそれらが存在することを確認することです。

$ java -jar start.jar --version

これにより、サーバーのクラスパスに何が含まれるかがわかります。

さあ、桟橋を始めましょう。slf4j-apiクラスが検出され、内部ロギングがからStdErrLogに切り替わりますSlf4jLog

この時点で、ログバックを構成する必要があります。通常は${jetty.home}/resources/logback.xmlファイルを使用します。(詳細については、ログバックのドキュメント参照してください)

の意味oeju.Scanner

パーツに関しては、これoeju.Scannerは、StdErrLogが名前付きロガー用に生成する完全修飾クラス名の省略形ですorg.eclipse.jetty.util.Scanner。各パッケージ名前空間セグメントの最初の文字のみを使用してoeju?を形成する方法をご覧ください。

ログバックでスキャナーイベントをフィルタリングする方法

logback.xmlで、質問の代わりに次を使用して、その特定のクラスのログレベルをINFOに設定します。

<logger name="org.eclipse.jetty.util.Scanner" level="info" />
于 2013-03-03T02:25:46.477 に答える