トラブルシューティング上の理由から、例外が発生した場合は過去のすべてのメッセージ (たとえば、最後の 20 件) を TRACE レベルでログに記録したいのですが、コードが正常に機能する場合は、ログ ファイルをクリアしておくために INFO レベルからログを記録したいと考えています。不要なログ メッセージ。
例えば:
public void m( String arg ){
log.trace( "arg value: " + arg );
log.info( "Hi Bob!" );
try{
//code
}catch( Exception e ){
log.error( "error msg", e );
}
}
次のようなログを取得したいと思います。
*INFO* Hi Bob!
しかし、エラーが発生した場合は、次のようなログを取得したいと思います:
*TRACE* arg value: test
*INFO* Hi Bob!
*ERROR* error msg //and stacktrace
言い換えれば、コードが正常に実行され、エラーが発生した場合にログ ファイルにプッシュされた場合に、低レベル メッセージからクリアされるログ メッセージ バッファが必要です。Javaロギングフレームワークはボックスからこれを行うことができますか?