Ich weiß, es gibt eine NullAppender
in log4j. Aber ich kann den Appender nicht im Logbuch finden. Gibt es eine bessere Möglichkeit, alle Logs im Logback zu ignorieren?Hat Logback einen NullAppender?
Antwort
Wenn Sie die Protokollebene auf OFF
einstellen, werden alle Protokolle ignoriert.
<logger name="..." level="OFF" />
+1. Können Sie Ihrer Antwort einige Details hinzufügen, um ein Beispiel zu zeigen? Vielleicht etwas wie: \t '
Einfach nur neugierig, was ist der Punkt ein NullAppender mit (was ich glaube einen Appender ist, die nichts zu tun), während Sie können einfach nicht jeden appender zu einem Logger Einstellung?
Und die ordnungsgemäße Möglichkeit, alle Protokolle zu deaktivieren, besteht darin, den Protokolliergrad auf OFF zu setzen.
Mit Kommentar von @djechlin, ich glaube es ist auch erwähnenswert Filter in LogBack. Wenn Sie einfach alle Nachrichten gehen durch eine appender deaktivieren möchten, können Sie einfach nutzen Threshold Filter machen:
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<!-- Deny everything below OFF, that means deny everything -->
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>OFF</level>
</filter>
.... other config
</appender>
Ich habe viele pkgs im Projekt und sie teilen die gleiche ROOT-Konfiguration. Und irgendwie möchte ich alle Logs für Klassen nur in pkg1 ignorieren. – DeepNightTwo
Dann legen Sie einfach die Protokollstufe von pkg1 auf OFF. Das ist einer der Hauptzwecke der log4j-ähnlichen Logging-Bibliothek: Sie können das Verhalten des einzelnen Loggers (und dessen Kind) steuern. Wenn Sie einen Null-Appender haben, müssen Sie log4j weiterhin so konfigurieren, dass der Logger pkg1 den Null-Appender verwendet und seine Additivität auf "Falsch" gesetzt wird, wofür Sie einfach den Log-Level für pkg1 festlegen. –
Viele Logger, die einen Appender benötigen, der je nach Konfiguration deaktiviert werden sollte (zB dev/prod). Um eine DRY-Änderung vorzunehmen, muss der Appender gelöscht werden. – djechlin
Sie immer einen schreiben:
public class NullAppender extends UnsynchronizedAppenderBase<ILoggingEvent> {
@Override
protected void append(ILoggingEvent eventObject) {
//no-op
}
}
Dies ist eine alte Frage, aber die gegebenen Antworten antworten nicht wirklich darauf.
Ja
Es gibt einen "null" appender, aber das ist nicht das, was sie aufgerufen wird. Ich glaube, dass der Logbuchautor den Begriff "no-op" bevorzugt, wenn er sich auf Implementierungen bezieht, die existieren, um einige Kompilierungs-, Test- oder andere Designanforderungen zu erfüllen, aber tatsächlich keine Operation ausführen. Die appender Implementierung, die ursprünglich gefragt wurde, etwa ist:
ch.qos.logback.core.helpers.NOPAppender
- 1. Logback: Level OFF funktioniert nicht im Logback
- 2. Logback-Tutorial
- 3. sl4j/logback unter weblogic
- 4. logback - Remapping eine Protokollebene für einen bestimmten Logger
- 5. Force slf4j Logback verwenden
- 6. Passwörter mit Logback maskieren?
- 7. Appender bei Logback gruppieren?
- 8. Logback: Mehrere Property Quellen
- 9. einen Logger Machen Sie den Wurzelbereich in logback
- 10. Log4j Logback (Migration)
- 11. konfigurieren logback mehrere Profile
- 12. Logback-Konfiguration erweitern
- 13. LogBack DBAppender programmgesteuert konfigurieren
- 14. Überschreiben von Logback-Konfigurationen
- 15. slf4j logback succeteLogger
- 16. Logback in Eclipse konfigurieren
- 17. Logback-Scan funktioniert nicht
- 18. Unterstützt Logback log4j Appender?
- 19. Logback Rollover nicht passiert
- 20. Logback log.debug funktioniert nicht
- 21. Logback mit Play-Framework
- 22. Logback in Debug ausführen
- 23. Wechsel von log4j logback
- 24. Logback für Standard-Paket
- 25. Springboot logback Konfiguration
- 26. Wo ist logback Codierermusters Dokumentation
- 27. FileNamePattern in RollingFileAppender - Logback-Konfiguration
- 28. Abhängigkeitsverwaltung für SLF4J und Logback
- 29. Logback: Nachricht über Filter ändern?
- 30. lesen Umgebungsvariablen aus logback Konfigurationsdatei
http://stackoverflow.com/questions/5924089/how-to-configure-logback-to-skip- logging-messages-from-org-package-with-all-le oder benutze 'EvaluatorFilter' – Ghostman
Diese Frage ist eindeutig kein Duplikat. Das Ausfiltern ist völlig anders als die Möglichkeit, einen Null-Appender anzugeben. – pdeschen