2013-02-28 9 views
20

Tôi có 2 logback.xml tệp trong các dự án riêng biệt. Một bản ghi JDBC SQL vào một tệp bằng cách sử dụng một FileAppender và các bản ghi lỗi khác để stdout bằng cách sử dụng một ConsoleAppender.các ứng dụng tệp và thiết bị xuất chuẩn trong logback.xml

Đây là các tệp logback.xml của tôi cho mỗi tệp.

tập tin đăng nhập

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

điều khiển các sản phẩm gỗ

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

Tôi sáp nhập hai dự án này và tôi muốn để có thể tiếp tục đăng nhập SQL mức thông tin để các tập tin và các lỗi tới STDOUT.

Tôi đã thêm hai ứng dụng vào logback.xml nhưng tôi không chắc chắn phải làm gì với nhật ký và thẻ gốc trong logback.xml mới của tôi.

Trả lời

23

Hãy thử điều này:

<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

Nếu bạn muốn xem đầu ra trong tập tinconsole sử dụng hai appender-ref như thế này:

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