2016-09-28 11 views
0

시간당 파일을 롤아웃하고 최대 3 개의 파일을 유지하려면 다음과 같이 구성해야합니다. 하지만 제대로 실행되지 않습니다. 아무도 도와 줄 수 있어요.log4j2에서 매시간 파일을 롤아웃하는 방법

<RollingFile name="LogFile" fileName="logs/server.log" immediateFlush="false" append="true" 
     filePattern="logs/server-%d{yyyy-MM-dd-HH}.log"> 
     <PatternLayout> 
      <Pattern>&lt;%d{MMM d, yyyy hh:mm:ss a}&gt; &lt;%5p&gt; - %m%n</Pattern> 
     </PatternLayout> 
     <Policies> 
       <TimeBasedTriggeringPolicy interval="1" modulate="true"/> 
       <!-- <SizeBasedTriggeringPolicy size="5 KB" /> --> 
     </Policies> 
     <DefaultRolloverStrategy max="3" /> 
</RollingFile> 

답변

0

정확하게 작동하지 않는 것은 언급하지 않았습니다. 당신 구성에 따르면, 당신은 항상 하나의 롤 파일이 있다고 생각합니다. 인덱스로 파일 패턴을 정의하지 않았기 때문에 이런 일이 발생합니다. 파일 패턴에 인덱스를 추가

<RollingFile name="LogFile" fileName="logs/server.log" immediateFlush="false" append="true" 
    filePattern="logs/server-%d{yyyy-MM-dd-HH}-%i.log"> 
    ... 
    <Policies> 
     <TimeBasedTriggeringPolicy interval="1" modulate="true"/> 
    </Policies> 
    <DefaultRolloverStrategy max="3"/> 
</RollingFile> 

최대 3에 파일이 개최됩니다 압연; 더 높은 색인을 가진 파일은 더 작은 색인을 가진 파일보다 새로운 것입니다.