Zum ersten Mal höre ich beim Lesen von Markern:
Ich überprüfe die verfügbaren Methoden für das Logger- Objekt:
- http://www.slf4j.org/api/org/slf4j/Logger.html
- http://logging.apache.org/log4j/2.x/log4j-api/apidocs/org/apache/logging/log4j/Logger.html
und gefundene Schnittstellen:
- http://www.slf4j.org/api/org/slf4j/Marker.html
- http://logging.apache.org/log4j/2.x/log4j-api/apidocs/org/apache/logging/log4j/Marker.html
Weitere Informationen bekomme ich von:
aber immer noch verwirrt ... Beachten Sie, dass ich frage, warum , nicht wie man sie benutzt, also ist dies kein Duplikat von:
UPDATE Scheint, als müssten Sie bei Verwendung von Markern auch benutzerdefinierten Java-Code schreiben, anstatt die Konfiguration in XML- oder .property- Dateien vorzunehmen ...
UPDATE 2 Von http://logback.qos.ch/manual/appenders.html#OnMarkerEvaluator
Marker notifyAdmin = MarkerFactory.getMarker("NOTIFY_ADMIN");
logger.error(notifyAdmin,
"This is a serious an error requiring the admin's attention",
new Exception("Just testing"));
grep
Textprotokolle verwenden.Antworten:
Dies ist eine überarbeitete Version meiner Antwort auf die Frage " Best Practices für die Verwendung von Markern in SLF4J / Logback ".
Markierungen können verwendet werden , Farbe ein oder markieren einzelne Log - Anweisung. Was Sie mit diesen Farben, dh Markern, machen, liegt ganz bei Ihnen. Zwei Muster scheinen jedoch für die Verwendung von Markern üblich zu sein.
Auslösen : Einige Appender könnten angewiesen werden, bei Vorhandensein eines bestimmten Markers eine Aktion auszuführen. Zum Beispiel
SMTPAppender
kann eine E - Mail senden , so konfiguriert werden , wenn ein Protokollereignis mit dem markiertNOTIFY_ADMIN
Marker unabhängig von der Protokollebene. Siehe markergestütztes Triggern in der Logback-Dokumentation. Sie können auch Protokollebenen und Markierungen zum Auslösen kombinieren.Filtern : Marker sind sehr nützlich, um bestimmte wertvolle Protokollanweisungen hervorzuheben. Beispielsweise können Sie alle Ihre persistenzbezogenen Protokolle (in verschiedenen und mehreren Klassendateien) mit der Farbe "DB" färben / markieren. Sie können dann nach "DB" filtern: Deaktivieren Sie die Protokollierung mit Ausnahme der mit DB gekennzeichneten Protokollanweisungen. Weitere Informationen finden Sie im Kapitel über Filter in der Logback-Dokumentation (Suche nach MarkerFilter). Beachten Sie, dass das Filtern nach Markern nicht nur durch Protokollierung, sondern auch durch Protokollanalyse-Tools durchgeführt werden kann.
Vor dem Aufkommen von Markern hatten Sie die Möglichkeit, 1) benutzerdefinierte Ebenen zu verwenden, 2) modifizierte Loggernamen zu verwenden, um ein ähnliches Verhalten zu erzielen. Die SLF4J-API unterstützt derzeit keine benutzerdefinierten Ebenen. Bei Option 2 kann das Suffixieren (oder Präfixieren) von Loggernamen verwendet werden, wenn ein oder zwei Logger geändert werden müssen. Der Ansatz wird unpraktisch, sobald 3 oder mehr Logger "unterklassifiziert" werden müssen, da die zugehörigen Konfigurationsdateien nicht mehr verwaltet werden können.
Obwohl ein einzelner Marker bereits sehr nützlich sein kann, erlaubt die nächste Version von SLF4J, dh Version 2.0, mehrere Marker pro Protokollanweisung.
quelle