java - Rolling log4j file to specific name -
on special application event need roll log file , rename specific file name contains date , time.
this function use roll file:
public void rollover() { enumeration el= logger.getrootlogger().getallappenders(); while ( el.hasmoreelements() ) { appender = (appender) el.nextelement(); if (a instanceof rollingfileappender) { ((rollingfileappender) a).rollover(); } } } this log4j.properties configuration:
log4j.appender.logfile=org.apache.log4j.rollingfileappender log4j.appender.logfile.file=mylog.log log4j.appender.logfile.threshold=all log4j.appender.logfile.maxfilesize=100mb log4j.appender.logfile.maxbackupindex=4 log4j.appender.logfile.layout=org.apache.log4j.patternlayout log4j.appender.logfile.layout.conversionpattern=%d %-4r [%t] %-5p %c %x - %m%n currently, after rollover have file name mylog.log.1. how make file have name mylog_yyymmdd_hhmmss.log?
use dailyrollingfileappender instead of rollingfileappender. see question details how configure it: setting log file name include current date in log4j
Comments
Post a Comment