2013-02-28 4 views
20

Ich habe 2 logback.xml Dateien in separaten Projekten. Einer protokolliert JDBC SQL in einer Datei mit einem FileAppender und der andere protokolliert Fehler mit einem ConsoleAppender.Datei und stdout appenders in logback.xml

Hier sind meine logback.xml-Dateien für jeden.

Dateiprotokollierung

<configuration> 
    <appender name="FILE" class="ch.qos.logback.core.FileAppender"> 
     <file>${user.home}/database.log</file> 
     <append>false</append> 
     <encoder> 
      <pattern>%-5relative %-5level %logger{35} - %msg%n</pattern> 
     </encoder> 
    </appender> 

    <logger name="jdbc" level="OFF" /> 
    <logger name="jdbc.sqlonly" level="debug" /> 

    <root level="info"> 
     <appender-ref ref="FILE" /> 
    </root> 
</configuration> 

Console anmelden

<configuration> 
    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> 
     <encoder> 
      <pattern>%-5relative %-5level %logger{35} - %msg%n</pattern> 
     </encoder> 
    </appender> 

    <logger name="jdbc" level="OFF" /> 

    <root level="ERROR"> 
     <appender-ref ref="STDOUT" /> 
    </root> 
</configuration> 

ich diese beiden Projekte am Zusammenführung und ich möchte in der Lage sein, um die Info-Ebene SQL in die Datei weiterhin anmelden und die Fehler zu STDOUT.

Ich habe die beiden Appender zur logback.xml hinzugefügt, aber ich bin mir nicht sicher, was ich mit Loggern und den Root-Tags in meinem neuen logback.xml tun soll.

Antwort

23

Versuchen Sie folgendes:

<configuration> 
     <appender name="FILE" class="ch.qos.logback.core.FileAppender"> 
      <file>${user.home}/database.log</file> 
      <append>false</append> 
      <encoder> 
       <pattern>%-5relative %-5level %logger{35} - %msg%n</pattern> 
      </encoder> 
     </appender> 

     <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> 
      <encoder> 
       <pattern>%-5relative %-5level %logger{35} - %msg%n</pattern> 
      </encoder> 
     </appender> 


     <logger name="jdbc" level="OFF" /> 
     <logger name="jdbc.sqlonly" level="INFO" additivity="false"> 
      <appender-ref ref="FILE" /> 
     </logger> 

     <root level="ERROR"> 
      <appender-ref ref="STDOUT" /> 
     </root> 
    </configuration> 
9

Wenn Sie Ansicht Ausgabe in Datei und Konsole Verwendung zwei appender-ref wie folgt aus:

<configuration> 
    <appender name="FILE" class="ch.qos.logback.core.FileAppender"> 
     <file>${user.home}/database.log</file> 
     <append>false</append> 
     <encoder> 
      <pattern>%-5relative %-5level %logger{35} - %msg%n</pattern> 
     </encoder> 
    </appender> 

    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> 
     <encoder> 
      <pattern>%-5relative %-5level %logger{35} - %msg%n</pattern> 
     </encoder> 
    </appender> 


    <logger name="jdbc" level="OFF" /> 
    <logger name="jdbc.sqlonly" level="INFO" additivity="false"> 
     <appender-ref ref="FILE" /> 
    </logger> 

    <root level="ERROR"> 
     <appender-ref ref="STDOUT" /> <!-- Every log will apear on screen log --> 
     <appender-ref ref="FILE" /> <!-- Every log will apear on file --> 
    </root> 
</configuration>