2013-06-02 2 views
1

logback은 자동 롤링을위한 시간을 어떻게 변경합니까? 매뉴얼에서 찾을 수 없습니다 ... 내 logback.xml 스 니펫은 다음과 같습니다.로그백에서 롤링하는 시간을 변경하십시오.

<appender name="data" class="ch.qos.logback.core.FileAppender"> 
    <file>mylog.log</file> 

    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> 
     <fileNamePattern>mylog.%d{yyyy-MM-dd}.log.gz</fileNamePattern> 
    </rollingPolicy> 
    <encoder> 
     <pattern>%msg%n</pattern> 
    </encoder> 
</appender> 
+0

내 자신의'timeBasedFileNamingAndTriggeringPolicy'를 작성하려고했지만 너무 많은 부분이 사적이며 처음부터 모든 것을 작성해야합니다. hardcoded 롤오버는'ch.qos.logback.core.rolling.helper.RollingCalendar'에서 수행되며, 설정할 방법이 없습니다. – durron597

답변

-1

시도해보십시오.

<appender name="FILE" 
class="ch.qos.logback.core.rolling.RollingFileAppender"> 
<File>${LOGDIR}/filename.log</File> 
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> 
    <!-- rollover daily --> 
    <FileNamePattern>${LOGDIR}/file.%d{yyyy-MM-dd}.%i.log.gz 
    </FileNamePattern> 
    <!-- keep 30 days' worth of history --> 
    <MaxHistory>30</MaxHistory> 
    <!-- or whenever the file size reaches 10MB --> 
    <timeBasedFileNamingAndTriggeringPolicy 
     class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"> 
     <maxFileSize>10MB</maxFileSize> 
    </timeBasedFileNamingAndTriggeringPolicy> 
</rollingPolicy> 
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"> 
    <Pattern>%date [%thread] %-5level %logger{36} - %msg%n 
    </Pattern> 
</encoder> 

위의 코드는 날을 기준으로하거나 로그 파일 크기 크기가 10MB를 초과하는 경우 파일을 압축합니다.

참고 : 나는 FILE1로 "% 내가"filePattern에, 그것은 반복됩니다 파일 이름을 추가 한 파일 2 등

+0

파일 크기에 따라 롤업하고 싶지는 않지만 시간대에 따라 롤백하고 싶습니다. – durron597

관련 문제