私は子()のコンテキストをSpringBootで動的に作成しており、各コンテキストを分離したファイルに記録したいと思います。これは可能ですか?Springブートの子()コンテキストによるログバック分離
これは、さまざまなアダプタに動的なスプリング統合設定があるためです。これは、同じアダプター構成で異なる接続で作業する場合には非常に便利ですが、1つのログファイルについて多くの情報があります。
私はJNDIコンテキスト分離でもスレッド分離を見ましたが、これを実行する最良の方法は何か分かりません。これはlogback.xmlファイルを設定するだけですか?
更新:
たぶんオプションがMDCであると私は概念を理解していないです。異なると@Component
にも適用することができ
@MessageEndpoint
public class TestComponents {
private static final Logger LOGGER = LoggerFactory.getLogger(Test.class);
@Router(inputChannel = "inputRouter")
public MessageChannel router(Message<String> demo) {
..
LOGGER.trace(“TEST”);
…
LOGGER.error(“TEST”);
…
}
@ServiceActivator(inputChannel="inputService")
public void service(Message<String> demo) {
..
LOGGER.trace(“TEST”);
..
}
@Transformer(inputChannel="inputTransformer", outputChannel="outputTransformer")
public byte[] transformerToByte(Message<String> demo) {
..
LOGGER.debug(“TEST”);
..
}
}
例:たとえば、あなたは、次のような@Transformer
、@ServiceActivator
と@Router
など、複数のSpring統合要素と春@MessageEndpoint
要素のMDCを適用する方法を説明できますメソッド。私は
が原因ドキュメントに記述paragraphにパフォーマンスを心配:
MDC logback-古典は 値が中程度の頻度でMDCに配置されていることを前提としてによって実装されることに注意してください
ありがとうクラウス。私たちのカスタム設定はSpringブート設定を無効にしますが、Springブートはまだchild()コンテキストが作成される前後でログバックを使用しているので、この方法を使用することはできません。私はSpringの拡張機能を使ってプログラムで設定をカスタマイズしています – crm86