2011-07-05 6 views
4

私はいくつかのメソッドを持つクラスを持っています。私は各メソッドを別のログファイルに出力したいと思います。このようなlogback.xmlファイルを使用すると、クラスからのすべてのログ記録が記録されます。ログバック - メソッドごとのアペンダを使用するのではなく、クラス

<logger name="com.mincom.ellipse.conversion.BatchConverter" level="INFO"> 
    <appender-ref ref="FILE" /> 
</logger> 

メソッドロギングコールごとに取得する方法を教えてください。私はそれがとてもシンプルだと確信していますが、私はドコの答えを見ることはできません。

答えて

4

logbackは使用していませんが、log4jなどでは任意の名前でロガーを設定できます。クラスのパッケージと名前の使用は、単なる規約です。だから私は、あなたのクラスでこのような何か設定複数のロガーをしたい:

Logger logA = LogFactory.getLogger("LogA"); 
Logger logB = LogFactory.getLogger("LogB"); 

public void methodA() { 
    logA.debug(...); 
} 
public void methodB() { 
    logB.debug(...); 
} 

をしてからlogbackのセットアップで...

<logger name="LogA" level="INFO"> 
    <appender-ref ref="FILE-A" /> 
</logger> 

<logger name="LogB" level="INFO"> 
    <appender-ref ref="FILE-B" /> 
</logger> 

は動作するはずです。おそらくいくつかの微調整が必​​要でしょう:-)

関連する問題