Flexibilität bei der Protokollierung mit log4j: Konfigurieren mehrerer Protokolldateien mit variablem Inhalt
Im Bereich der Protokollierung mit log4j besteht der Bedarf an vielseitigen und zielgerichteten Lösungen Protokollierungsmechanismen kommen häufig vor. Ein solches Szenario beinhaltet die Erstellung mehrerer Protokolldateien, die jeweils unterschiedliche Ebenen von Protokollierungsinformationen für bestimmte Zielklassen enthalten.
Konfigurierbare Protokollierungsebenen von Log4j
Um dies zu erreichen, log4j bietet die Möglichkeit, mehrere Appender zu konfigurieren, die jeweils mit bestimmten Schwellenwerten definiert sind. Schwellenwerte bestimmen die Mindestprotokollierungsstufe, die ein Appender verarbeitet. Durch Festlegen verschiedener Schwellenwerte können Sie Protokollierungsmeldungen basierend auf ihrem Schweregrad an verschiedene Appender weiterleiten.
Erstellen mehrerer Protokolldateien
Zum Beispiel, um alle INFOs und höher zu erfassen Nachrichten in einer Protokolldatei und alle DEBUG-Nachrichten für eine Teilmenge von Klassen in einer separaten Datei, können Sie die folgenden log4j-Einstellungen konfigurieren:
log4j.rootLogger=QuietAppender, LoudAppender, TRACE
Diese Zeile definiert den Root-Logger, der für alle Klassen gilt, sofern er nicht durch bestimmte Logger-Konfigurationen überschrieben wird. Es weist drei Appender zu: „QuietAppender“ für INFO-Nachrichten und höher, „LoudAppender“ für DEBUG-Nachrichten und höher und „TRACE“ für alle Nachrichten (ein spezieller Appender, der unten erläutert wird).
log4j.appender .QuietAppender=org.apache.log4j.RollingFileAppender
log4j.appender.QuietAppender.Threshold=INFO
log4j.appender.QuietAppender.File =quiet.log
Der QuietAppender ist so konfiguriert, dass er INFO- und höhere Nachrichten an die Datei „quiet.log“ anhängt.
log4j.appender.LoudAppender=org.apache .log4j.RollingFileAppender
log4j.appender.LoudAppender.Threshold=DEBUG
log4j.appender.LoudAppender.File=loud.log
Der LoudAppender ist so konfiguriert, dass DEBUG- und höhermeldungen an die Datei „loud.log“ angehängt werden.
log4j.logger.com.yourpackage.yourclazz=TRACE
Diese Zeile fügt einen benutzerdefinierten Logger für eine bestimmte Klasse innerhalb des Pakets „com.yourpackage“ hinzu. Es überschreibt die Root-Logger-Konfiguration und setzt den Schwellenwert auf TRACE, um sicherzustellen, dass alle Nachrichten für diese Klasse protokolliert werden, unabhängig vom im Root-Logger oder in den Appendern festgelegten Schwellenwert.
Durch die Kombination dieser Konfigurationen können Sie dies erreichen maßgeschneiderte Protokollierungsfunktion, die Protokollierungsmeldungen nach Schweregrad und Zielklasse trennt und mehrere Protokolldateien mit unterschiedlichem Inhalt erstellt, um bestimmten Anwendungsfällen gerecht zu werden.
Das obige ist der detaillierte Inhalt vonWie kann log4j verwendet werden, um mehrere Protokolldateien mit unterschiedlichem Inhalt basierend auf Protokollierungsstufen und Zielklassen zu erstellen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!