2016-12-17 82 views
1

我試圖在彈簧基於項目創造記錄的政策。滾滾的logback日誌記錄不工作

我面對的是關係到滾動的政策問題。所述LOGFILE.LOG被創建並且是工作不創建精細但滾動文件rollingfile.log。%d {YYYY-MM-DD}的.log

注意:在下面記錄我希望創建這將創建一個新的文件時rollingfile.log exceds超過10 MB滾動政策。所以我可以備份日誌而不需要一個巨大的記錄器文件。有沒有辦法做到這一點?

下面給出的是我logback.xml

<?xml version="1.0" encoding="UTF-8"?> 
    <configuration debug="true" scan="true" scanPeriod="30 seconds"> 
     <property name="LOG_PATH" value="D:/coinLogs" /> 
     <property name="LOG_ARCHIVE" value="${LOG_PATH}/archive" /> 

     <appender name="Console-Appender" class="ch.qos.logback.core.ConsoleAppender"> 
      <layout> 
       <pattern>[%d{yyyy-MM-dd HH:mm:ss}] - [%X{requestId}] - %p %c -- %m%n 
       </pattern> 
      </layout> 
     </appender> 

     <appender name="File-Appender" class="ch.qos.logback.core.FileAppender"> 
      <file>${LOG_PATH}/logfile.log</file> 
      <encoder> 
       <pattern>[%d{yyyy-MM-dd HH:mm:ss}] - [%X{requestId}] - %p %c -- %m%n 
       </pattern> 
       <outputPatternAsHeader>true</outputPatternAsHeader> 
      </encoder> 
     </appender> 

     <appender name="RollingFile-Appender" 
      class="ch.qos.logback.core.rolling.RollingFileAppender"> 
      <file>${LOG_PATH}/rollingfile.log</file> 
      <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> 
       <fileNamePattern>${LOG_ARCHIVE}/rollingfile.log%d{yyyy-MM-dd}.log 
       </fileNamePattern> 
       <maxHistory>30</maxHistory> 
       <totalSizeCap>10MB</totalSizeCap> 
      </rollingPolicy> 
      <encoder> 
       <pattern>%msg%n</pattern> 
      </encoder> 
     </appender> 

     <appender name="Async-Appender" class="ch.qos.logback.classic.AsyncAppender"> 
      <appender-ref ref="RollingFile-Appender" /> 
     </appender> 

     <logger name="coinPay.logbackxml" level="info" additivity="false"> 
      <appender-ref ref="Console-Appender" /> 
      <appender-ref ref="File-Appender" /> 
      <appender-ref ref="Async-Appender" /> 
     </logger> 

     <!-- To remove extra hibernate logs --> 
     <logger name="org.hibernate"> 
      <level value="info" /> 
     </logger> 

     <root> 
      <appender-ref ref="Console-Appender" /> 
      <appender-ref ref="File-Appender" /> 
     </root> 

    </configuration> 

任何幫助將不勝感激。預先感謝您:d

回答

1

我想你應該在配置方面,異步的Appender附加器,它封裝您RollingFile-的Appender的根元素添加。 否則它可能不被認爲是由logback啓用:

<root> 
     <appender-ref ref="Console-Appender" /> 
     <appender-ref ref="File-Appender" /> 
     <appender-ref ref="Async-Appender" /> 
    </root> 
+1

嗨@davidxxx,謝謝你的回答。在上面的記錄器中,我希望創建一個滾動策略,該文件在rollingfile.log超過10 Mb時創建爲新文件。所以我可以備份日誌而不需要一個巨大的記錄器文件。有沒有辦法做到這一點? – abhi314

+1

歡迎您:)如果我沒有理解好了,你想都基於日誌文件和時間的大小滾動政策。如果這是你的需要,'SizeAndTimeBasedRollingPolicy'應該可以幫到你。看看這個:http://logback.qos.ch/manual/appenders.html – davidxxx