2012-01-11 18 views
0

私はJavaEE SSH環境を使い慣れていますが、現在私はアプリケーションのログシステムとしてlog4jを使用しています。しかし、問題は、ログ出力レベルをDEBUGに設定すると、MyEclipseにコンソール出力が多すぎるため、出力レベルをWARNに切り替えるとメッセージの量が減りますが、興味のある情報が失われることです。 log4jには編集中のJavaファイルによって生成されたすべてのログメッセージのみが出力され、他のユーザによって生成されたメッセージは出力されません。log4jのログコンソールの出力を制御する方法

答えて

3

あなたはlog4j.propertiesファイルでのlog4jを構成していると仮定すると、あなたは、このような異なるレベルに特定のクラスまたはパッケージを設定することができます。

log4j.logger.com.foo.MyClass=DEBUG 

は、より多くの入門のlog4jもののためhttp://logging.apache.org/log4j/1.2/manual.htmlを参照してください。

+0

各クラスのロガーインスタンスに固有の名前が関連付けられていることを確認した場合は、この作業が念頭に置かれています。逆に、異なるクラス間で行うことをやりたい場合は、異なるクラスに同じ名前のロガーインスタンスを作成できます(クラス内に1つ以上のロガーインスタンスがある可能性があります) –

+0

ありがとう!それは実際に動作します – ZRJ

2

http://logging.apache.org/log4j/1.2/manual.html

あなたがLogger.getLogger("org.springframework")経由で作成されたすべてのロガーのログレベルを設定することができます。 log4jの設定ファイルを検索する必要があります。

http://en.wikipedia.org/wiki/Log4jからの)XMLの例:

... 
<logger name="org.springframework"> 
    <level value="info"/> 
</logger> 

<!-- 
    everything of spring was set to "info" but for class 
    PropertyEditorRegistrySupport we want "debug" logging 
--> 
<logger name="org.springframework.beans.PropertyEditorRegistrySupport"> 
    <level value="debug"/> 
</logger> 

お役に立てば幸いです。

0

unix/linux環境で実行している場合は、探しているものをtailとgrepしてログファイルを作成できます。これはlog4jの設定を変更するよりも柔軟性があり、より強力です

0

私のlog4jデバッグログは、私のJUnitユニットテスト(Eclipse)でSpringのデバッグに圧倒されていました。私はこれをlog4jプロパティファイルに次の行を追加することで回避しました。

log4j.logger.org.springframework=FATAL 
関連する問題