2017-01-10 8 views
0

私のアプリケーションでlogback framework(1.8)を使用しています。最大ファイルサイズが5MBになるようにローリングポリシーを設定します。 OKですが、ローリングポリシーに関係なく、毎日新しいログファイルが作成されていることに気付きました。たとえば、昨日、最新のログファイルは10KBでした。今日になり、いくつかのアクションを実行したときに、 10KBの最新のものがアーカイブされました。どのように私はこれを防ぐことができますか考えていますか?ログバックが毎日ローリングするのを防ぐ

<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がより良いと思います:それは日付によってロールバックポリシーを定義しないので、日付の変更は何の効果もありません。さらに、アーカイブするファイルの数とサイズを選択できます。

関連する問題