2015-01-30 19 views
5

Sono nuovo in Log4j2 e desidero utilizzare lo RollingFileAppender. Inoltre, come rollover voglio usare il TimeBaseTriggeringPolicy:Dove definire lo schema di data/ora per TimeBasedTriggeringPolicy in Log4j2

Il TimeBasedTriggeringPolicy provoca un ribaltamento una volta che la data/ora modello non è più applicabile al file attivo.

Sul sito sopra v'è un esempio di un tale 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> 

Dove è nella configurazione il "modello data/ora" definito, che determina se il file attivo si applica ad esso o no?

Grazie per il vostro aiuto!

risposta

8

Questo è il filePattern. Nel vostro config:

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

L'unità di tempo più granulare in quanto sopra è dd (giorni) in modo che si rollover ogni giorno a mezzanotte.

+0

L'ordine è importante tra TimeBasedTriggeringPolicy e SizeBasedTriggeringPolicy? –

+0

No, qualsiasi ordine va bene perché il risultato è "sì rollover" o "no do not rollover". –