Log4J Extras에서 TimeBasedRollingPolicy를 설정 중이며 롤오버 할시기를 알려주는 내용이 명확하지 않습니다. The API은 명확하지 않으므로 추측을하고 있습니다. 주파수를 결정하는 FileNamePattern의 마지막 요소 인 것 같습니다. log4j TimeBasedRollingPolicy가 롤오버되는 시점을 결정하는 것은 무엇입니까?
는 log4j Wiki에서이 예제를 보자<appender name="ROLL" class="org.apache.log4j.rolling.RollingFileAppender">
<!-- The active file to log to -->
<param name="file" value="/applogs/myportal/portal.log" />
<param name="append" value="true" />
<param name="encoding" value="UTF-8" />
<rollingPolicy class="org.apache.log4j.rolling.TimeBasedRollingPolicy">
<!-- The file to roll to, this is a fairly intelligent parameter, if the file
ends in .gz, it gzips it, based on the date stamp it rolls at that time,
default is yyyy-MM-dd, (rolls at midnight)
-->
<param name="FileNamePattern" value="/applogs/myportal/portal.%d.log.gz" />
</rollingPolicy>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%5p %d{ISO8601} [%t][%x] %c - %m%n" />
</layout>
</appender>
내가 패턴이 DD로 끝나는 때문에 정책은 그 변경 될 때 롤 있다고 가정 할 수 있습니까? API의 예제와 동일하게 "yyyy-MM"패턴은 MM이 변경 될 때 파일이 롤백되어야 함을 의미합니다.
감사합니다.
폴
당신은 절대적으로 올바른입니다. 왜 내가 전에이 일을하지 않았는지 모르겠지만 [소스 코드] (https://svn.apache.org/repos/asf/logging/log4j/companions/extras/trunk/src/main/)를 확인했습니다. java/org/apache/log4j/rolling/TimeBasedRollingPolicy.java)에서 TimeBasedRollingPolicy를 선택하고 롤오버의 논리에서 "파일 이름이 변경되지 않았거나 롤오버가없는 경우"라는 주석이 있습니다. 감사! – Paul