Ich möchte in der Lage sein, dynamisch für ein einzelnes appender in logback die Filterstufe zu ändernFilter für Logback Appender dynamisch ändern?
Zum Beispiel, wenn ich
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%d [%X{traceId}] [%thread] %-5level %logger{36} %marker - %msg%n</pattern>
</encoder>
</appender>
<!-- Root Config -->
<root level="${log_level:-INFO}">
<appender-ref ref="ASYNC-SERVICE"/>
<appender-ref ref="STDOUT"/>
</root>
habe Wie kann ich zur Laufzeit des STDOUT- appender Debug zu ermöglichen ändern vs Info?
def setLogLevel(value: Level, loggerName: String = org.slf4j.Logger.ROOT_LOGGER_NAME) = {
val logger = LoggerFactory.getLogger(loggerName).asInstanceOf[Logger]
logger.setLevel(LogbackLevel.valueOf(value.toString))
}
Aber ich möchte wirklich Kontrolle haben, auf dem Appen die dynamisch Ebene bekommt:
kann ich global die Root-Ebene leicht ändern.
Ich habe versucht, auf der Appen Ebene Filter zu manipulieren, aber das schien nicht viel zu tun
Haben Sie jemals eine Lösung gefunden? Ich sitze mit demselben Problem. Ich möchte, dass die Root-Logger-Ebene permissiv ist, z. TRACE, dann pro Appender, steuern, welche Ebene protokolliert wird. Ich habe versucht, die Filter auf dem Appender wieder zu löschen und hinzuzufügen, aber es funktioniert nicht. – Will777
@ Will777 sehe meine Antwort – devshorts