Ich erstelle child() Kontexte dynamisch in Spring Boot und ich möchte jeden Kontext in eine separate Datei protokollieren. Ist das möglich?Logback-Trennung von Spring Boot child() Kontexte
Der Grund dafür ist, dass ich eine dynamische Federintegrationskonfiguration für verschiedene Adapter habe. Dies ist sehr nützlich für die Arbeit mit verschiedenen Verbindungen mit der gleichen Adapterkonfiguration, aber es gibt viele Informationen für nur eine Protokolldatei.
Ich sah eine Thread-Trennung sogar eine JNDI Kontext Trennung, aber ich weiß nicht, was der beste Weg ist, dies zu tun. Ist es möglich, nur die logback.xml-Datei zu konfigurieren?
Update:
Vielleicht ist die Option MDC und ich verstehe nicht das Konzept. Zum Beispiel könnten Sie erklären, wie MDC für ein Feder @MessageEndpoint
Elemente mit mehrere Feder Integration Elementen wie @Transformer
, @ServiceActivator
und @Router
wie die folgenden anwenden: könnte
@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”);
..
}
}
Das Beispiel auch mit anderen zu einem @Component
anwendbar seinen Methoden.
Ich bin Sorge über die Leistung aufgrund der paragraph in der Dokumentation beschrieben:
Bitte beachten Sie, dass als MDC implementiert durch logback-classic geht davon aus, dass Werte in die MDC platziert werden mit mäßiger Frequenz
Danke Klaus. Ich kann diesen Ansatz nicht verwenden, da unsere benutzerdefinierte Konfiguration die Spring Boot-Konfiguration überschreibt, Spring Boot jedoch immer noch Logback verwendet, bevor und nachdem die child() - Kontexte erstellt werden. Ich arbeite mit Spring-Erweiterungen, Anpassen der Konfiguration programmgesteuert – crm86