はじめに
といっても大したことではなく、「同僚にできないの?」って質問されたことが発端です。
やったこと無かったけど、気になったので調べてみることにしました。
業務要件的にも、以下のことはありそうな感じかなーとは思いましたがw
- あるログはデフォルトの出力先に
- 致命的なエラーは、ログの出力方法はそのままで別の出力先に
やり方
割りと簡単に出来ました
手順としてはこんな感じ・・・
- Loggerを取得する
- Loggerから変更対象の設定名でAppenderを取得する
- AppenderをFileAppenderにキャストする(コレがミソ)
- ログ出力を一時停止する
- setFileメソッドで出力先ファイルを変更する
- ログ出力を再開する
コードにするとこんな感じかな(loggerの取得方法は色々変りそうだけど・・・)
1 2 3 4 5 |
|
実は、以下の2つのことで気が付きましたw
- javadoc(Appender
を実装してる) - getAppenderメソッドの戻り値(Appender
が返される)
感想
割りと簡単にできるんですねw
後はこの処理をラップしたようなクラス&静的メソッドを作ると汎用的に使えていいのではないだろうか。。。