1. Vorwort
Log4J ist ein zuverlässiger, schneller und flexibler Protokollierungsrahmen (API), der in Java geschrieben wurde und unter der Apache -Softwarelizenz veröffentlicht wurde. Log4j wurde auf Sprachen wie C, C ++, C#, Perl, Python und Ruby portiert.
Log4J ist sehr konfigurierbar und kann zur Laufzeit über externe Dateien konfiguriert werden. Es hängt von der Prioritätsniveau des Datensatzes ab und bietet Mechanismen, um die Protokollierungsinformationen für viele Ziele anzugeben, wie z. B. Datenbanken, Dateien, Konsolen, UNIX -Systemprotokolle usw.
Es gibt drei Hauptkomponenten in log4j:
Logger: Verantwortlich für die Erfassung von Datensatzinformationen.
Appender: Verantwortlich für die Veröffentlichung von Protokollinformationen an verschiedenen bevorzugten Zielen.
Layouts: Verantwortlich für die Formatierung von Protokollinformationen verschiedener Stile.
Hinweis: Dieser Artikel basiert auf Log4j 2.x und höher.
2. Installation
log4j-core-xx.jar
log4j-api-xx.jar
log4j-web-xx.jar (Referenz für Webprojekte erforderlich)
3. Konfiguration
Bereiten Sie einige Protokolle vor, um die folgenden Referenzen hinzuzufügen:
import org.apache.logging.log4j.logmanager; import org.apache.logging.log4j.logger;
statischer Logger logger = logManager.getLogger (test.class.getName ());
Der Standort der Konfigurationsdatei befindet sich in: SRC -Root -Verzeichnis. Auch wenn es keine Konfigurationsdatei gibt, wird kein Fehler vorliegen. Standardmäßig wird es in Form einer Konsole ausgegeben.
Die Log4J2 -Konfigurationsdatei unterscheidet sich sehr von LOG4 (die 1.x -Version ist sehr unterschiedlich) und kann nur .xml, .json oder .jsn -Formate verwenden. Die spezifische Konfiguration lautet wie folgt ( ${web:rootDir} repräsentiert das Web -Root -Verzeichnis):
<? %-5LEVEL %Klasse {36} %l %m- %msg %xex %n "/> </console> <!-Die Datei wird alle Informationen ausdrucken. Dieses Protokoll wird jedes Mal automatisch gelöscht, wenn es durch das Anhängeattribut bestimmt wird, das für temporäre Tests geeignet ist-> <Dateiname = "Fehler" Dateiname = "$ {Web: rootDir} /logs/Error.log" append = "false"> <! Level = "Fehler" onmatch = "Accept" onMisMatch = "Deny"/> <musterlayout charset = "utf-8" muster = " %d {hh: mm: ss.sss} %-5Level %class {36} %l %M- %MSG %xEx %N"/> </Datei> </Datei> </Datei> <! Jedes Mal, wenn die Größe die Größe überschreitet, wird das Protokoll dieser Größe automatisch in dem Ordner gespeichert, der nach Jahrmonat erstellt und als Archiv komprimiert wird-> <RollingFile name = "rollingfile" Dateiname = "$ {Web: rootDir} /logs/history.log" " filePattern = "log/$$ {Datum: yyyy-mm}/history- %d {mm-dd-yyy}- %i.log.gz"> <musterlayout charset = "utf-8" Muster = " %d {Yyyy-mm-dd 'at' hh: mm: ss Z} %-5LEVEL. %msg%xex%n "/> <sizebasedTriggeringPolicy size =" 50 MB "/> </rollingfile> </Appenders> <!-Dann definieren Sie den Logger. Appender wird nur wirksam, wenn der Logger definiert und eingeführt wird. -> <Loggers> <!-Erstellen Sie einen Standard-Root-Logger-> <root Level = "Trace"> <Appender-ref ref = "error"/> <Appender-ref ref = "rollingFile"/> <Appender-ref ref = "console"/> </root> </loggers> </konfiguration> </konfiguration> </konfiguration>4. Gewöhnliche Projekte und Webprojekte
Für gewöhnliche Projekte kann die obige Konfiguration nach Abschluss der oben genannten Konfiguration normalerweise verwendet werden, und für Webprojekte werden Protokolldateien nicht generiert. Sie müssen die folgende Konfiguration unter dem Stammknoten <web-app> in web.xml hinzufügen:
<!-log4j2.x start-> <hörer> <hörerklasse> org.apache.logging.log4j.web.log4JServletContextListener </listener-class> </listener> <filter> <filter-name> log4jServletFilter </filter-name> <Filter-Klasse> org.apache.logging.log4j.web.log4JServletfilter </Filter-Klasse> </filter> <filter- mapping> <filter-name> log4jServletfilter </filter-name> <url-patter>/*</url-pattern> </filtermaping> <!-log4J2.
Zusammenfassen
Das obige ist die Methode, log4j zu verwenden, um Protokolle in Java aufzuzeichnen. Ich hoffe, der Inhalt dieses Artikels wird für das Studium oder die Arbeit aller Hilfe helfen. Wenn Sie Fragen haben, können Sie eine Nachricht zur Kommunikation überlassen. Vielen Dank für Ihre Unterstützung bei Wulin.com.