2016-05-03 10 views
0

私は、私のRollingFileAppenderでタイムベースのトリガーポリシーを使用する必要があります。 manualLog4j2タイムベースのトリガーポリシー

それは言う:

ロールオーバーは、ほとんどの特定の時間単位でどのような日付パターン

最も具体的な時間単位 に基づいて行われるべきどのくらいの頻度?最初のパラメータか最後のパラメータですか? ファイルを1週間に1回ロールオーバーするようにします。

<RollingFile name="RollingFile" fileName="${baseDir}/giba.log" filePattern="${baseDir}/giba-%d{w}-%i.log"> 
    <PatternLayout pattern="%d{dd.MM.yyyy HH:mm:ss.SSS} [%t] %-5level - %msg%n"/> 
    <Policies> 
     <TimeBasedTriggeringPolicy interval="7" modulate="true" /> 
    </Policies> 
     <DefaultRolloverStrategy> 
      <Delete basePath="${baseDir}" maxDepth="0"> 
       <IfFileName glob="*.log" /> 
       <IfLastModified age="7d" /> 
      </Delete> 
     </DefaultRolloverStrategy> 
</RollingFile > 
+0

たとえば、最も時間のかかるアイテムの時刻パターンが4時間ごとに4回ずつ増加するデフォルトの値は1です。 - 「最も具体的」とは何を意味するのかを明確にしていません。私はそれが "最小"のように理解します。 「分は時間よりも具体的です」という意味で... – Fildor

答えて

2

ほとんどの特定の時間単位は、最小の意味:

は、ここに私のコードです。ファイルパターンは 'w'を使用しているため、毎週ロールオーバーします。ただし、間隔が7であるため、その週に7回以上ロールオーバーする必要があります。

率直に、私はTimeBasedRolloStrategyを非難したいと思います。それは混乱し、ログイベントを書き込む際にロールバックする必要があるかどうかだけを判断します。 CronTriggeringPolicyはcron式を使用するので、ファイルパターンにはまったく依存しません。また、スケジューラースレッドから駆動されるので、何かが記録されているかどうかに関係なく発生します。

関連する問題