2015-05-16 76 views
1

我想更改將被寫入控制檯的日誌格式。 我使用的是spring boot,所以我在logback.xml中包含base.xml。如何避免當我想改變日誌格式時重複日誌消息?

<include resource="org/springframework/boot/logging/logback/base.xml"/> 

但我意識到,如果我用上面的代碼,並使用附加器=「CONSOLE」來指定日誌格式,我的日誌消息會重複。

我知道如果我將上面的代碼註釋掉,我可以停止重複,但是我必須指定在這種情況下已經在base.xml中解決的所有設置。

有人可以給我建議我應該如何指定日誌格式,因爲我使用base.xml?

這裏是我的logbook.xml:

<?xml version="1.0" encoding="UTF-8"?> 
<configuration debug="false"> 
    <include resource="org/springframework/boot/logging/logback/base.xml"/> 

    <logger name="jdbc" level="OFF" /> 
    <logger name="jdbc.sqltiming" level="WARN" /> 
    <logger name="jdbc.sqlonly" level="INFO" /> 

    <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender"> 
     <encoder> 
      <pattern>%date{yyyy-MM-dd HH:mm:ss} [%thread] %level %logger{0} - 
       %msg \(%file:%line\)%n</pattern> 
     </encoder> 
     <filter class="ch.qos.logback.classic.filter.ThresholdFilter"> 
      <level>INFO</level> 
     </filter> 
    </appender> 

    <appender name="FILE" 
     class="ch.qos.logback.core.rolling.RollingFileAppender"> 
     <file>c:/tmp/app.log</file> 
     <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> 
      <fileNamePattern>logs/app.%d{yyyy-MM-dd}.log.tar.gz</fileNamePattern> 
      <maxHistory>7</maxHistory> 
     </rollingPolicy> 
     <encoder> 
      <pattern>%d{yyyy-MM-dd'T'HH:mm:ss'Z'} - %m%n</pattern> 
     </encoder> 
    </appender> 

    <root level="INFO"> 
     <appender-ref ref="FILE" /> 
     <appender-ref ref="CONSOLE" /> 
    </root> 

    <logger name="FILE" additivity="false"> 
     <level value="INFO" /> 
     <appender-ref ref="FILE" /> 
    </logger> 
</configuration> 
+0

謝謝。你的問題它自己解決了我的問題。 –

+0

我很高興聽到:) –

回答

1

截至目前,您不能這樣做,作爲一個配置。請檢查link。該功能已被請求但尚未實施。

+0

感謝您的信息。看來我需要等一會...... –

+2

這已經在Spring Boot 1.3中實現了 –