2015-01-30 4 views
5

Я новичок в Log4j2 и хочу использовать RollingFileAppender. Кроме того, как опрокидывание я хочу использовать TimeBaseTriggeringPolicy:Где определить шаблон даты/времени для TimeBasedTriggeringPolicy в Log4j2

TimeBasedTriggeringPolicy не вызывает опрокидывание раз дата/время картина больше не относится к активному файлу.

На участке выше приведен пример для такого TimeBasedTriggeringPolicy:

<?xml version="1.0" encoding="UTF-8"?>  
<Configuration status="warn" name="MyApp" packages=""> 
    <Appenders> 
     <RollingFile name="RollingFile" fileName="logs/app.log" 
    filePattern="logs/$${date:yyyy-MM}/app-%d{MM-dd-yyyy}-%i.log.gz"> 
      <PatternLayout> 
       <Pattern>%d %p %c{1.} [%t] %m%n</Pattern> 
      </PatternLayout> 
      <Policies> 
       <TimeBasedTriggeringPolicy /> 
       <SizeBasedTriggeringPolicy size="250 MB"/> 
      </Policies> 
     </RollingFile> 
    </Appenders> 
    <Loggers> 
     <Root level="error"> 
      <AppenderRef ref="RollingFile"/> 
     </Root> 
    </Loggers> 
</Configuration> 

Где в конфигурации выше «дата/время шаблон» определен, который определяет, если активный файл относится к нему или нет?

Благодарим за помощь!

ответ

8

Это файл. В вашей конфигурации:

filePattern="logs/$${date:yyyy-MM}/app-%d{MM-dd-yyyy}-%i.log.gz"> 

Наиболее зернистый единицу времени в вышеописанном dd (дни), поэтому он будет пролонгировать каждый день в полночь.

+0

Является ли порядок важным между TimeBasedTriggeringPolicy и SizeBasedTriggeringPolicy? –

+0

Нет, любой заказ прекрасен, потому что результатом является либо «yes rollover», либо «no not rollover». –

Смежные вопросы