2013-02-28 12 views
20

Mam 2 logback.xml plików w osobnych projektach. Jeden loguje JDBC SQL do pliku za pomocą FileAppendera, a pozostałe loguje do stdout przy pomocy ConsoleAppender.plików i dodawania stdout w logback.xml

Oto moje pliki logback.xml dla każdego.

rejestrowania pliku

<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> 

Konsola zalogowaniu

<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> 

jestem łączenie tych dwóch projektów i chcę, aby móc kontynuować zalogowaniu SQL poziom informacji do pliku, a błędy do STDOUT.

Dodałem dwóch aplikantów do logback.xml, ale nie jestem pewien, co zrobić z rejestratorami i znacznikami root w moim nowym logback.xml.

Odpowiedz

23

Spróbuj tego:

<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

Jeśli chcesz widok wyjście w pliku i konsoli użyć dwóch appender-ref tak:

<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>