Vorrei creare un file di registro che può essere rollato all'inizio del giorno successivo o se viene raggiunto alla dimensione specificata del file e il file di registro deve essere contenuto nella cartella della data. Il formato della cartella è YYYYMMDD
(/20111103/mylogfile.log
)Come controllare il file di log con il rolling giornaliero e la dimensione massima del file con log4j?
È possibile eseguire questa operazione da Log4j senza implementare una classe personalizzata?
Ora sto usando log4j e log4j-extra, ho impostato l'attributo FileNamePattern come definito nella log4j API per rotolare il mio file di tutti i giorni e impostare la dimensione massima del file di 50 MB.
mio log4j.xml
è:
<appender name="MYAPPENDER" class="org.apache.log4j.rolling.RollingFileAppender">
<param name="encoding" value="UTF-8" />
<param name="append" value="true" />
<rollingPolicy class="org.apache.log4j.rolling.TimeBasedRollingPolicy">
<param name="FileNamePattern" value="${catalina.home}/logs/MY-APP/%d{yyyyMMdd}/MY-APP_%d{yyyyMMddHHmmss}.log" />
</rollingPolicy>
<triggeringPolicy class="org.apache.log4j.rolling.SizeBasedTriggeringPolicy">
<param name="maxFileSize" value="50000000" />
</triggeringPolicy>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="[%d{dd/MM/yyyy HH\:mm\:ss}] %-5p [%c.%M(),%4L] - %m%n" />
</layout>
</appender>
Risultato di impostazione di cui sopra è che file di registro non è rotolato a inizio prossimi giorni, ma se la dimensione del file ha raggiunto a 50 MB, il file di log sarà implementato.
Si prega di aiutare a consigliarmi. m (_ _) m