2017-01-10 29 views
0

,我設置了滾動策略,以便最大文件大小爲5MB,它可以停留最多10天,100 MB的最大總大小,現在一切工程確定,但我注意到一個新的日誌文件被創建,每天無論以滾動的政策,例如,昨天,最新的日誌文件是10KB,當我今天來,做一些動作,記錄語句添加到一個新的日誌文件和最新的10KB已歸檔。你有什麼想法我怎麼能防止這一點。防止的logback從我在我的應用程序中使用的logback框架(1.8)滾動日常

<configuration scan="true" scanPeriod="30 seconds"> 
    <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> 
     <file>/opt/MoICT_Logs/IDM/IDM.log</file> 
     <append>true</append> 
     <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy"> 
      <fileNamePattern>/opt/MoICT_Logs/IDM/IDM-%d{yyyy-MM-dd}.%i.log</fileNamePattern> 
      <maxHistory>10</maxHistory> 
      <maxFileSize>5MB</maxFileSize> 
      <totalSizeCap>100MB</totalSizeCap> 
     </rollingPolicy> 
     <encoder> 
      <charset>UTF-8</charset> 
      <pattern>%d{yyyy-MM-dd;HH:mm:ss.SSS} [%thread] %-5level %logger{5} - %msg%n</pattern> 
     </encoder> 
    </appender> 
    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> 
     <encoder> 
      <charset>UTF-8</charset> 
      <pattern>%d{yyyy-MM-dd;HH:mm:ss.SSS} [%thread] %-5level %logger{5} - %msg%n</pattern> 
     </encoder> 
    </appender> 
    <logger name="jo.egov.portal" level="DEBUG" additivity="false"> 
     <appender-ref ref="FILE" /> 
    </logger> 
    <logger name="org.springframework" level="INFO" additivity="false"> 
     <appender-ref ref="FILE" /> 
    </logger> 
    <root level="INFO">   
     <appender-ref ref="STDOUT" /> 
    </root> 
</configuration> 

回答

1

當你選擇SizeAndTimeBasedRollingPolicy你所要求的日期,而在同時限制每個日誌文件的大小存檔文件。 因此,如果日期更改,當前日誌文件將被歸檔(它的老,它指的是一箇舊日期)和一個新的文件將被生產。 我認爲,你的目的FixedWindowRollingPolicy可能會更好:它沒有定義按日期回滾政策,所以日期的改變不會有任何效果。此外,你可以選擇你想要多少文件歸檔和它們的大小。