複数の「コントローラー」を備えたアプリケーションがあり、各ログを独自のファイルに保存したいと思います。これは彼ら自身のコードにとっては十分に簡単ですが、私はコモンズロギングを使用するいくつかのライブラリコードも使用しています。どういうわけか、そのコードをコントローラー固有のファイルにも記録させることができますか?
私はどういうわけかスレッドでそれを行うことができると思っていました:
class Controller {
public void action() {
setCurrentThreadLogFile(myLogFile);
try {
Library.stuff();
} finally {
restoreCurrentThreadLogFile();
}
}
}
現在、log4jをバックエンドとして使用して、自分のログにもcommons-loggingを使用しています。ただし、必要に応じて変更することも、組み合わせて使用することもできます(これは、コモンズロギングフレームワーク内で可能です)。
これを行う1つの方法は、独自のコモンズロギング実装(おそらくlog4jのラッパー)を作成することですが、既存のソリューションはありますか?