2016-03-26 9 views
1

Ich habe log4j2.xml in Eclipse konfiguriert und alle Protokolle werden korrekt in eine Datei geschrieben. Wenn ich Maven-Projekt als jar exportieren und aus dem Befehl prompt ausführen, werden die Protokolle auf der Konsole angezeigt, anstatt in eine Datei zu schreiben.log4j2 Protokolle werden nicht in Datei geschrieben, wenn sie als jar ausgeführt werden

<?xml version="1.0" encoding="UTF-8"?> 
<Configuration status="trace"> 
<Appenders> 
<Console name="STDOUT" target="SYSTEM_OUT"> 
<PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/> 
</Console> 
<File name="file_all" fileName="C:/log/logsALL.log" immediateFlush="true" append="true"> 
<PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/> 
</File> 
</Appenders> 

<Loggers> 
<Root level="ERROR"> 
<AppenderRef ref="file_all"/> 
</Root> 

<Logger name="com.api.main" level="INFO"> 
<AppenderRef ref="file_all"/> 
</Logger>  
</Loggers> 
</Configuration> 

Antwort

0

Wenn log4j startet, zeigt es interne Protokollierung auf der Konsole (weil Status = Trace in der Konfiguration). Dieses interne Protokoll sollte den Speicherort der Konfigurationsdatei anzeigen, die verwendet wird. Überprüfen Sie, dass dies der richtige Speicherort ist: Ich vermute, dass eine alte Konfigurationsdatei geladen wird, die auf der Konsole protokolliert ...