2011-10-18 3 views
1

推移的ログメッセージルーティングを定義する方法を探しています。これらのパッケージでpolyと呼ばれるアプリケーションがあるとしましょう:ログバックによるコンポーネントベースのロギング(または:外部ログメッセージの代行受信)

com.mycompany.server-common 
com.mycompany.communication 
com.mycompany.webservice 

server-commonは2つの他の両方で使用されています。 3つともorg.hibernateを使用します。

ここでは、Webサービスによって開始されたcom.mycompany.webserviceからのすべてのメッセージとcom.mycompany.server-commonおよびorg.hibernateからのメッセージを持つWebサービスコンポーネント用のログファイルが1つあります。そして、コミュニケーションパッケージのもう一つの対応するファイル。

私のアプリケーションは、すべてのコンポーネントが1つのコンテキストで実行tomcatに、(それが1つのwarファイルで提供されます)で実行されているwarファイルです。私はすでに複数のログファイルを定義していましたが、私は静的に定義したものだけをログに記録します。推移的なインクルードはありません。

私は、私は必要な動作を実現することができる方法のアイデアに非常に興味があると思います。私はすでにMDCを使用することを考えていましたが、それが良いかどうかはわかりません。 もう一つのアイデアはコンテキストを分離することでしたが、現在のプロジェクト状態ではこれは難しく、私が望む柔軟性はありません。

任意のヒントや議論が高く評価されています。

+1

NDCまたはMDCが最も簡単なアプローチですが、どちらに関心がありますか?同様に、 –

+0

@DaveNewtonはまだそれらを使用していなかったので、私は多くの場合、「正規化」する出力フォーマットにいくつかのカスタマイズを行ってきたが、私は、彼らがこのようなもののために便利だ – mkraemerx

+0

いくつかのより多くの経験に基づく意見を望んでいました必要に応じて最初にユーザエントリを入れたり、最初にコンポーネントを配置したりすることができます。 –

答えて

1

あなたはMDCキーを設定した場合、Webサービスは、要求にサービスを提供開始してリクエストの終了時にMDCキーをクリアしたときに、SiftingAppenderは、あなたが求めているものを行います。あなたが苦労した場合は、ログバックユーザのメーリングリストに叫んでください。

関連する問題