ich eine logback Konfiguration haben, die eine appender mit einem Schwellwert-Filter hat:logback - Remapping eine Protokollebene für einen bestimmten Logger
<appender name="SYSLOG" class="ch.qos.logback.classic.net.SyslogAppender">
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>INFO</level>
</filter>
...
</appender>
Dies stellt sicher, dass nur Informationen und höher (warnen, Fehler) zu syslog protokolliert werden . Eine der Bibliotheken von Drittanbietern, die wir verwenden, protokolliert jedoch ein bestimmtes Ereignis bei DEBUG, und ich möchte dieses Ereignis in Syslog protokollieren. Der erste Ansatz, den ich mir vorgenommen hatte, war, den Loglevel im Logger neu zu mappen, aber ich bin mir nicht sicher, ob das möglich ist. Etwas wie:
offensichtlich ist der "logAs" -Parameter nicht vorhanden, also kann ich das nicht tun. Was wäre der beste Ansatz, um akka.some.Thing auf dem SYSLOG Appender zu loggen und den Filter für andere Logger zu verwenden? Der andere Ansatz wäre, einen zweiten Appender namens SYSLOG2 zu erstellen, der den Filter nicht an seinem Platz hat und den spezifischen Logger für die Verwendung festlegt. Er fragt sich, ob es eine Möglichkeit gibt, das Logback mit nur einem SYSLOG-Appender zu konfigurieren ...
Danke,
Warum haben Sie den Schwellenwertfilter? Sind Ihre anderen "Logger" -Konfigurationen höher als INFO an diesen Appender? Wenn ja warum? –
Ja, wir loggen an 2 Standorten. Der Syslog-Appender endet in einem Indexer mit Lizenzierungs-Constaints, so dass wir niemals etwas niedriger als INFO protokollieren wollen. Wenn wir jedoch debuggen wollen, aktivieren wir das Debugging und dies geht zu einem Dateiappender (ohne das gesamte Debuggunk in syslog). – Brett
Interessant. Wenn es Ihre Umgebung zulässt, wäre es am einfachsten, einen eigenen kleinen Filter zu schreiben, der alles, was Lizenzprobleme hat, VERWEIGERT. Andernfalls könnte einer der komplexeren Filter - die Ausdrücke zulassen - funktionieren, aber ein zweiter Appender wird wahrscheinlich leichter zu verstehen und zu warten sein. –