2009-08-05 12 views
1

これらのライブラリが自分のアプリケーションのlog4jバスに氾濫するのを防ぐにはどうすればよいですか?私はすべてをERRORに設定したくありませんが、この速度ではベンダーライブラリは約1ギガバイト/日の速度でログファイルを溢れさせています。このファイルには何も記録しないようにしてください...ベンダーライブラリからの迷惑メールlog4j

答えて

4

Jon Skeet´s answerによって示唆されるように、あなたがクラスを無視するようにlog4jを構成する必要がありますベンダーのライブラリから。通常、1つは、このように印刷するには、パッケージ名としきい値カテゴリを置くことができますlog4j.xmlという名前のファイルがあります:

<category name="httpclient.wire"> 
     <priority value="INFO"/> 
    </category> 

    <category name="org.apache.commons.httpclient"> 
     <priority value="WARN"/> 
    </category> 

    <category name="org.hibernate"> 
     <priority value="DEBUG"/> 
    </category> 

    <category name="net.sf.jasperreports"> 
     <priority value="ERROR"/> 
    </category> 

は詳細についてはthe manualを見てみましょう。

7

ベンダーはカテゴリを合理的に使用していますか?その場合は、のルートカテゴリをERRORに設定し、それ以外はすべて通常どおりにしておきます。そうすれば、エラーのないメッセージは除外できますが、独自の情報/デバッグ/ etcが表示されるはずです。カテゴリ:)

+4

真剣に、私は答えがちょうど... log4j構成を使用していると思います。 –

0

えのポイントのほとんどをだ

、他のすべてが失敗した場合には、LogImplを拡張することができ、それがあなたのロギング呼び出しの全てにプロパティを注入し、あなたのアペンダのすべてのPropertyFilterを設定しています。しかし、それはそれに来ないだろうと思っています。

(あなたの心、これはlog4netのから来ている - 私はそれをすべてはほとんど同じように動作しますが、私はちょうど腰から撮影してると仮定)

関連する問題