2016-07-06 7 views
0

Ich benutze Log4j2 für die Anmeldung in meiner App. Im Grunde protokolliert es uncatched Exceptions (Error.log) und protokolliert Änderungen meiner Daten auf Service-Ebene (journal.log; journalJSON.log).Keine Logs erstellt, es sei denn Tests

Und hier ist die Sache, wenn ich Service-Layer-Tests starten jedes Log erscheint in der Datei und der Konsole, aber wenn ich Anwendung in Tomcat eingesetzt eingesetzt werden, sind sie nur in der Konsole. Was ist los?

<?xml version="1.0" encoding="UTF-8"?> 
<configuration status="WARN"> 
<appenders> 
    <Console name="Console" target="SYSTEM_OUT"> 
     <PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/> 
    </Console> 


    <File name="Error" fileName="logs/error.log" 
      immediateFlush="true" append="true"> 
     <PatternLayout pattern=" \n\n %d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/> 
    </File> 

    <RandomAccessFile name="Journal" fileName="logs/journal.log" immediateFlush="true" append="true"> 
     <PatternLayout pattern="[%d{yyyy-MM-dd HH:mm:ss.SSS}] %msg%n"/> 
    </RandomAccessFile> 

    <File name="JournalJSON" fileName="logs/journalJSON.log" immediateFlush="true" append="false"> 
     <JSONLayout complete="true" charset="UTF-8" compact="false" eventEol="false"/> 
    </File> 

</appenders> 

<Loggers> 

    <Logger name="com.user.controller" level="error" additivity="false"> 
     <AppenderRef ref="Error" level="error"/> 
     <AppenderRef ref="Console" level="error"/> 
    </Logger> 

    <Logger name="com.user.service" level="info" additivity="false"> 
     <appender-ref ref="JournalJSON" level="info"/> 
     <appender-ref ref="Journal" level="info"/> 
     <appender-ref ref="Console" level="info"/> 
    </Logger> 

    <Root level="warn"> 
     <AppenderRef ref="Console"/> 
    </Root> 
</Loggers> 

Antwort

1

Nun, es gibt ein paar Möglichkeiten, die ich mir vorstellen kann:

  1. Ihre Konfigurationsdatei nicht gefunden wird und es die Standardkonfiguration verwendet.
  2. Der Logger für Ihre Anwendung ist nicht com.user.controller oder com.user.service und der Root-Logger wird verwendet.
Verwandte Themen