2017-06-08 50 views
1

我在application.yml春天開機1.5.2.RELEASE:滾動文件記錄

logging: 
    path: logs/ 
    file: logs/service.log 
    pattern: 
     console: "%d %-5level %logger : %msg%n" 
     file: "%d %-5level [%thread] %logger : %msg%n" 
    level: 
     com.demo.api: INFO 
下面

下面的配置是我logback.xml

<?xml version="1.0" encoding="UTF-8"?> 
<configuration> 
    <include resource="org/springframework/boot/logging/logback/base.xml" /> 
    <include resource="org/springframework/boot/logging/logback/console-appender.xml" /> 
    <root level="INFO"> 
     <appender-ref ref="CONSOLE" /> 
    </root> 
    <logger name="com.demo" additivity="false" level="DEBUG"> 
     <appender-ref ref="CONSOLE"/> 
    </logger> 
</configuration> 

當我運行它不記錄彈簧啓動應用程序文件,但我看到下面的控制檯登錄如下

2017-06-07 16:14:45.841 INFO 37084 --- [nio-8443-exec-8] c.d.api.Controller  : test msg 1 
2017-06-07 16:14:45.854 INFO 37084 --- [nio-8443-exec-8] c.d.api.dao.Dao : test msg 2 
2017-06-07 16:14:49.188 INFO 37084 --- [nio-8443-exec-8] c.d.api.service.DigSigService : test msg 3 
2017-06-07 16:14:49.199 INFO 37084 --- [nio-8443-exec-8] c.d.api.service.DigSigService : test msg 4 
2017-06-07 16:14:49.200 INFO 37084 --- [nio-8443-exec-8] c.d.api.dao.Dao : test msg 5 

我試圖更新logback.xml如下,但仍然有記錄無鎖到文件

<?xml version="1.0" encoding="UTF-8"?> 
<configuration> 

<property name="DEV_HOME" value="c:/logs" /> 

<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> 
    <layout class="ch.qos.logback.classic.PatternLayout"> 
     <Pattern> 
      %d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n 
     </Pattern> 
    </layout> 
</appender> 

<appender name="FILE-AUDIT" 
    class="ch.qos.logback.core.rolling.RollingFileAppender"> 
    <file>${DEV_HOME}/debug.log</file> 
    <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"> 
     <Pattern> 
      %d{yyyy-MM-dd HH:mm:ss} - %msg%n 
     </Pattern> 
    </encoder> 

    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> 
     <!-- rollover daily --> 
     <fileNamePattern>${DEV_HOME}/archived/debug.%d{yyyy-MM-dd}.%i.log 
        </fileNamePattern> 
     <timeBasedFileNamingAndTriggeringPolicy 
      class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"> 
      <maxFileSize>10MB</maxFileSize> 
     </timeBasedFileNamingAndTriggeringPolicy> 
    </rollingPolicy> 

</appender> 

<appender name="FILE-ERROR" 
    class="ch.qos.logback.core.rolling.RollingFileAppender"> 
    <file>${DEV_HOME}/error.log</file> 
    <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"> 
     <Pattern> 
      %d{yyyy-MM-dd HH:mm:ss} - %msg%n 
     </Pattern> 
    </encoder> 

    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> 
     <!-- rollover daily --> 
     <fileNamePattern>${DEV_HOME}/archived/error.%d{yyyy-MM-dd}.%i.log 
        </fileNamePattern> 
     <timeBasedFileNamingAndTriggeringPolicy 
      class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"> 
      <maxFileSize>10MB</maxFileSize> 
     </timeBasedFileNamingAndTriggeringPolicy> 
    </rollingPolicy> 

</appender> 

<!-- Send logs to both console and file audit --> 
<logger name="com.demo.api" level="debug" 
    additivity="false"> 
    <appender-ref ref="FILE-AUDIT" /> 
    <appender-ref ref="STDOUT" /> 
</logger> 

<root level="error"> 
    <appender-ref ref="FILE-ERROR" /> 
</root> 

</configuration> 

能有人幫我修復日誌滾動文件?

+0

您需要輸入一個絕對路徑'logging.path'像例如:'C:/用戶/項目/ YourProject/logs'。其次,確保'logback.xml'文件在你的Classpath中:'如果你把一個logback.xml放到你的類路徑的根目錄下,它將從那裏被拾取(或者logback-spring.xml來利用模板由Boot提供的功能)' –

回答

0

您的logback.xml位於何處,直接位於資源文件夾中?如果是這樣,這應該馬上工作(只是測試你的配置,它的工作原理)。如果不是,你必須指定它所在的位置。例如。如果是...resources/config下,你必須將以下條目添加到application.yml

logging: 
    config: classpath:config/logback.xml