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

Popular posts from this blog

c++ - CryptStringToBinary API behavior -

c++ - Correct method for redrawing a layered window -

java.util.scanner - How to read and add only numbers to array from a text file -