2013-02-17 8 views
6

Diese logback.xml protokolliert in der Datei, kann aber nicht an der Konsole protokollieren? Ich hoffe, dass jemand den Konfigurationsfehler in dieser Konfiguration erkennen kann? Hier ist meine Grund Logger config:Diese logback.xml protokolliert in Datei, kann aber nicht an der Konsole protokollieren?

import org.slf4j.Logger; 
import org.slf4j.LoggerFactory; 
... 
public static Logger logger = LoggerFactory.getLogger("JUnit"); 
... 
logger.info("This comment fails to show in console but it shows in log file"); 

Und hier ist der logback.xml:

<configuration> 

    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> 
    <!-- encoders are assigned the type 
     ch.qos.logback.classic.encoder.PatternLayoutEncoder by default --> 
    <encoder> 
     <pattern>%-4relative [%thread] %-5level %logger{35} - %msg %n</pattern> 
    </encoder> 
    </appender> 

    <appender name="FILE" class="ch.qos.logback.core.FileAppender"> 
    <file>junitOut.log</file> 
    <append>false</append> 
    <!-- encoders are assigned the type 
     ch.qos.logback.classic.encoder.PatternLayoutEncoder by default --> 
    <encoder> 
     <pattern>%-4r %-5level %logger{35}: %msg%n</pattern> 
    </encoder> 
    </appender> 

    <root level="DEBUG"> 
    <appender-ref ref="FILE" /> 
    </root> 

    <!-- We want error logging from this logger to go to an extra appender 
     It still inherits CONSOLE STDOUT from the root logger --> 
    <logger name="junitOut" level="INFO"> 
     <appender-ref ref="STDOUT" /> 
    </logger> 

</configuration> 

Antwort

7

Sie nicht explizit einen Logger namens "JUnit" definieren, so dass die Logging-Nachricht an root gehen Logger direkt. Der Root-Logger hat nur einen Appender, d. H. "FILE", so dass die Logging-Nachricht nur in die Datei geschrieben wird. Sie können den "STDOUT" -Appender zum Root-Logger in Ihrem Fall hinzufügen:

+0

Vielen Dank! Das war's. Ich schätze die Hilfe sehr. :-) – djangofan

Verwandte Themen