Log4j2 nicht-logging auf die Konsole
Ich kann nicht Log4j 2, um log auf der Konsole. Nichts zeigt sich, wenn mit gradle.
log4j2.xml
im Projekte-root-Verzeichnis:
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="ALL">
<Appenders>
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
</Console>
</Appenders>
<Loggers>
<Root level="all">
<AppenderRef ref="Console"/>
</Root>
</Loggers>
</Configuration>
Verwendung in meinem Unterricht:
public class ABCHandler {
private final Logger logger = LogManager.getLogger();
public ABC(String serialPortName) {
logger.info("Opening serial port {}", serialPortName);
}
}
Sie sollten angeben, welche Klasse Sie sich einloggen möchten, LogFactory.getLogger(ABCHandler.class)
Es werden standardmäßig auf die aktuelle Klasse. Sehen ths Log4j 2 API für weitere details.
Es werden standardmäßig auf die aktuelle Klasse. Sehen ths Log4j 2 API für weitere details.
InformationsquelleAutor MeinAccount | 2014-05-29
Du musst angemeldet sein, um einen Kommentar abzugeben.
Laden Sie Ihre Datei und Konfigurationen auf meinem Rechner funktioniert.
War dies die Klasse die ich verwendet habe:
Dies ist die log4j2.xml:
und schließlich das ist die Ausgabe:
true
2014-05-29 12:19:15,266 TRACE method: [main] Test (Test.java:10) - entry
2014-05-29 12:19:15,268 INFO method: [main] Test (Test.java:11) - info! 1001
2014-05-29 12:19:15,269 ERROR method: [main] Test (Test.java:12) - error! 1001
2014-05-29 12:19:15,269 DEBUG method: [main] Test (Test.java:13) - debug! 1001
Ein häufiger Fehler bei der Verwendung von Log4j2 ist die Platzierung der log4j2.xml in einer Datei, die nicht im Klassenpfad.
Um zu diagnostizieren, wenn das ist das problem, ändern Sie die Zeile
zu
Wenn Sie sehen, jede Ausgabe, die es ist, weil log4j kann nicht laden Sie Ihre Datei. Dies ist, weil die Standard-log-level, wenn die Datei nicht gefunden wird FEHLER, nicht DEBUGGEN.
Den Speicherort der log4j2.xml auf meinem Projekt (Maven) in src/main/resources, die ich weiß, es ist in meinem classpath.
Immer vergessen, dass
InformationsquelleAutor Alexandre Santos