Protokollierungsstufen werden verwendet, um die Einträge in Ihrer Protokolldatei zu kategorisieren. Aber sie kategorisieren ganz konkret, nämlich nach Dringlichkeit. Mit der Ebene können Sie die folgenden Arten von Informationen trennen:
- Sie können Ihre Protokolldateien während der Suche filtern.
- Sie können die Menge der von Ihnen protokollierten Informationen verwalten.
Die Menge und Art der im System bereitgestellten Informationen und Ereignisprotokolle werden durch die log4j-Ebeneneinstellungen in der Konfigurationsdatei gesteuert. Jeder Protokollnachricht wird die Ebene der Nachricht vorangestellt.
Datum in Zeichenfolge formatieren
Die Protokollierungsstufen sind ein Beispiel dafür org.apache.log4j.Level Klasse.
Log4j verfügt über die folgenden Protokollierungsebenen:
Protokollebene | Beschreibung |
---|---|
ALLE | Diese Ebene aktiviert alle Protokollierungsebenen. Es enthält die von Ihnen definierten benutzerdefinierten Protokollierungsstufen. Sobald dieser konfiguriert ist und die Ebenen überhaupt nicht berücksichtigt werden, beginnen alle Appender damit, die Protokollereignisse in Protokolldateien zu übertragen. |
DEBUGGEN | Debug wird häufig zum Debuggen der Anwendung während der Entwicklungszeit verwendet. Sobald diese Stufe festgelegt ist, wird jede Protokollmeldung in den Protokolldateien angezeigt. Es gehört grundsätzlich den Entwicklern. |
DIE INFO | Die INFO-Protokollierungsstufe wird zum Aufzeichnen von Meldungen über den routinemäßigen Anwendungsbetrieb verwendet. In Echtzeit überwachen Systemadministratoren die Infoprotokolle, um sicherzustellen, was gerade auf dem System passiert und ob beim normalen Ablauf Probleme auftreten. |
WARNEN | Die Protokollstufe WARN wird verwendet, um anzuzeigen, dass möglicherweise ein Problem vorliegt und Sie eine ungewöhnliche Situation festgestellt haben. Möglicherweise haben Sie den Aufruf eines Dienstes gefordert und es ist ein paar Mal fehlgeschlagen, bevor die Verbindung bei einem automatischen Wiederholungsversuch hergestellt wurde. Es ist unerwartet und ungewöhnlich, aber es wurde kein wirklicher Schaden angerichtet und es ist nicht bekannt, ob das Problem weiterhin besteht oder erneut auftritt. Jemand sollte den Warnungen nachgehen. |
FEHLER | Die Protokollebene „FEHLER“ wird verwendet, um ein schwerwiegendes Problem zu kennzeichnen, das Sie sofort untersuchen müssen. Nicht so schwerwiegend wie FATAL, aber dennoch ein Problem. Es bedeutet lediglich, dass Ihre Anwendung einen wirklich unerwünschten Zustand erreicht hat. Beispielsweise unerwartete formatierte Eingaben oder Nichtverfügbarkeit der Datenbank. |
TÖDLICH | Die Protokollstufe FATAL weist wie ERROR auf ein Problem hin. Im Gegensatz zu ERROR bezeichnet es jedoch ein sehr schwerwiegendes Fehlerereignis. An einem normalen Tag werden Sie ihre Anwesenheit nicht besonders bedenken, aber sobald sie auftauchen, signalisiert dies sehr schlechte Nachrichten, sogar die Gefahr des Todes. |
AUS | Dies ist der höchstmögliche Rang und soll die Protokollierung deaktivieren. |
VERFOLGEN | Dies wurde kürzlich in Version 1.2 eingeführt und enthält weitere Informationen zu Protokollen auf Debug-Ebene. |
Wie stelle ich Protokollebenen ein?
Legen Sie die Protokollebene in log4j.properties fest
log4j.rootLogger=DEBUG, consoleAppender log4j.appender.consoleAppender=org.apache.log4j.ConsoleAppender log4j.appender.consoleAppender.layout=org.apache.log4j.PatternLayout log4j.appender.consoleAppender.layout.ConversionPattern=[%t] %-5p %c %x - %m%n #Log info messages for package 'com.javatpoint.web.controller' log4j.logger.com.javatpoint.web.controller=INFO, consoleAppender
Legen Sie die Protokollebene in log4j.xml fest
Wie funktionieren Protokollebenen?
Die Funktionsweise der Protokollierungsebenen ist eigentlich sehr einfach. Während der Laufzeit erstellt der Anwendungscode Protokollierungsanforderungen, die eine Ebene haben. Gleichzeitig ist im Protokollierungsframework eine Protokollebene konfiguriert, die als Schwellenwert fungiert. Wenn sich die Anforderungsebene auf der konfigurierten Ebene oder einer höheren Ebene befindet, wird sie beim konfigurierten Ziel protokolliert. Wenn nicht, wird es abgelehnt. So einfach ist das.
Betrachten wir das als die folgende Rangfolge für die Ebenen:
Maus und Maustypen
ALL <trace < debug info warn error fatal off pre> <p>So if, for instance, the logging framework level is set to WARN, requests with any of the levels WARN, FATAL, and ERROR will be accepted, while the rest will be denied.</p> <img src="//techcodeview.com/img/log4j-tutorial/51/log4j-logging-levels.webp" alt="Log4J Logging Levels"> <p>In the above diagram, the vertical header displays the Level of the LogEvent, while the horizontal header shows the Level associated with the appropriate logging configuration.</p> <p>For the first column, you will see how the log works in each level. For example, for WARN, (FATAL, ERROR, and WARN) will be visible. For OFF, nothing will be visible.</p> <h3>Log4j Level Example</h3> <p> <strong>Configuration File:</strong> </p> <pre> # Define the root logger with appender file log = /usr/home/log4j log4j.rootLogger = WARN, FILE # Define the file appender log4j.appender.FILE=org.apache.log4j.FileAppender log4j.appender.FILE.File=${log}/log.out # Define the layout for file appender log4j.appender.FILE.layout=org.apache.log4j.PatternLayout log4j.appender.FILE.layout.conversionPattern=%m%n </pre> <p> <strong>Java Program:</strong> </p> <pre> import org.apache.log4j.*; public class LogClass { private static org.apache.log4j.Logger log = Logger.getLogger(LogClass.class); public static void main(String[] args) { log.trace('Trace Message!'); log.debug('Debug Message!'); log.info('Info Message!'); log.warn('Warn Message!'); log.error('Error Message!'); log.fatal('Fatal Message!'); } } </pre> <p>Now compile and run the above program and we would get the following output in c:/usr/home/log4j/log.out file:</p> <pre> Warn Message! Error Message! Fatal Message! </pre> <hr></trace>
Java-Programm:
import org.apache.log4j.*; public class LogClass { private static org.apache.log4j.Logger log = Logger.getLogger(LogClass.class); public static void main(String[] args) { log.trace('Trace Message!'); log.debug('Debug Message!'); log.info('Info Message!'); log.warn('Warn Message!'); log.error('Error Message!'); log.fatal('Fatal Message!'); } }
Kompilieren Sie nun das obige Programm und führen Sie es aus. Wir erhalten dann die folgende Ausgabe in der Datei c:/usr/home/log4j/log.out:
Warn Message! Error Message! Fatal Message!