In Java So erstellen Sie Ihre eigene Protokollierungsebene mit Log4j (Konfigurieren von Log4j 2)

Veröffentlicht: 2017-07-26
In Java So erstellen Sie Ihre eigene Protokollierungsebene mit Log4j 2

Wenn Sie Ihre eigene Protokollierungsebene in Log4j hinzufügen müssen, können Sie dies wie folgt tun. Sie müssen Ihre eigene Klasse erstellen, die sich von Level , Custom Log Levels mit Apache Log4j 2 erstreckt.

Log4j ist ein einfaches und flexibles logging framework . Die Protokollierung stattet den Entwickler mit detailliertem Kontext für Anwendungsfehler aus. Mit log4j ist es möglich, die Protokollierung zur Laufzeit zu aktivieren, ohne die Binärdatei der Anwendung zu ändern.

Das log4j-Paket ist so konzipiert, dass diese Anweisungen im ausgelieferten Code verbleiben können, ohne dass hohe Leistungseinbußen entstehen.

So erstellen Sie Ihre eigene Protokollierungsebene in Log4j (Konfigurieren von Log4j)

Mit Log4j können Protokollierungsanforderungen an mehrere Ziele gedruckt werden. In Log4j-Sprache wird ein Ausgabeziel als appender . Sie variieren von Konsolen, Dateien, GUI-Komponenten, Remote-Socket-Servern bis hin zu JMS.

Jar-Datei, die Sie benötigen.

Hier ist eine Maven-Abhängigkeit:

Aktualisieren Sie Log4j auf die neueste Version

CVE-2021-44228: Apache Log4j2 <=2.14.1 JNDI-Funktionen, die in Konfiguration, Protokollmeldungen und Parametern verwendet werden, schützen nicht vor von Angreifern kontrolliertem LDAP und anderen JNDI-bezogenen Endpunkten.

Ab log4j 2.16.0 ist dieses Verhalten standardmäßig deaktiviert.

Sie müssen die Datei log4j.xml im Ordner /resources ablegen:

log4j.xml-Datei im Ressourcenordner

Hier ist ein Beispiel-Java-Code für:

  • Log4j-Protokollierung für benutzerdefinierte Protokollebenen in Java
  • Erstellen Sie Ihre eigene Protokollierungsstufe in log4j
  • Beispiel für einen benutzerdefinierten Log4j-Logger

CrunchifyLog4jLevel.java

Ein weiteres muss gelesen werden:

  • Wie starte ich den Stopp von Apache Tomcat Server über die Befehlszeile? (Setup als Windows-Dienst)
  • Erstellen und implementieren Sie einfache Webdienste und Webdienstclients in Eclipse

Hier ist ein Inhalt der Datei log4j.xml

CrunchifyLog4jLevelTest.java

Führen Sie das Testprogramm aus und Sie sollten den folgenden Ergebnistyp in Ihrer Eclipse's Console sehen.

Der int-Wert, den Sie für Ihre Protokollebene angeben, ist wichtig. Hier habe ich definiert, dass die Protokollebene „ CRUNCHIFY “ höher als die DEBUG -Ebene, aber niedriger als die von log4j bereitgestellte TRACE -Ebene sein soll.

Wenn Sie also für die Kategorie (in Ihrer log4j.xml -Datei) eine Prioritätsstufe auf DEBUG gesetzt haben, werden die Protokolle der CRUNCHIFY Stufe NICHT in die Protokolldatei aufgenommen.