Praktische Verwendung von Logback-Kontext-Selektoren

Die Dokumentation zu Logbacklogging Trennung gibt an, dass ich @ verwenden kacontext selectors, um verschiedene Protokollierungskonfigurationen auf derselben JVM zu erstellen. Irgendwie erlaubt mir ein Kontext-Selektor, @ aufzurufeLoggerFactory.getLogger(Foo.class) und je nach Kontext bekomme ich einen anders konfigurierten Logger.

Die Beispiele befassen sich leider nur mit JNDI im Kontext eines speziell konfigurierten Webservers wie Tomcat oder Jetty. Ich möchte wissen, wie ich einen Kontext-Selektor praktisch selbst verwenden kann, zum Beispiel in einer Nicht-Web-Anwendung.

Mein Ziel ist es, mehr als eine Protokollierungskonfiguration auf derselben JVM zu haben. Hier ist ein Szenario:

Ich möchte, dass ein Thread Logger mit dem Standardwert @ abruflogback.xml Konfiguration auf dem Klassenpfad.Ich möchte, dass ein anderer Thread Logger mit einem anderen @ abruflogback.xml aus einem benutzerdefinierten Verzeichnis.ch möchte, dass ein dritter Thread Logger aus einer programmgesteuerten Konfiguration abruf

Ich stelle diese Beispielszenarien zur Verfügung, um einen Eindruck von @ zu bekomme praktisch Verwendung von Kontext-Selektoren --- wie ich im wirklichen Leben etwas Nützliches mit ihnen anfangen würde.

Wie könnte ich Kontext-Selektoren verwenden, um die oben genannten Szenarien zu implementieren, so dassLoggerFactory.getLogger(Foo.class) gibt einen Logger aus der richtigen Konfiguration basierend auf dem Thread zurück?Wenn Kontext-Selektoren der Aufgabe nicht gewachsen sind, wie könnte ich manuell ein @ bekommeILoggerFactory Instanz, die mir Logger von einer programmatischen Konfiguration geben würde?

Antworten auf die Frage(6)

Ihre Antwort auf die Frage