3

i'm using log4j RollingFileAppender , i'm trying to append date to file name

so i append "-%d{yyyy-MM-dd_HH-mm}." to active file name property in log4j.properties like below , however file is generated with name mylog-%d{yyyy-MM-dd_HH-mm}.log without setting the date

log4j.appender.mylog.rollingPolicy.ActiveFileName=mylog-%d{yyyy-MM-dd_HH-mm}.log

any helping ideas ??

Zinab Taher
  • 131
  • 1
  • 2
  • 13
  • http://stackoverflow.com/questions/192456/setting-a-log-file-name-to-include-current-date-in-log4j Have you asked Google or searched a little before asking ? – Julien Aug 28 '13 at 07:59
  • i saw it before , it used Daily rolling appender , i'm using RollingFileAppender – Zinab Taher Aug 28 '13 at 08:08
  • I'm not aware of any appender implementation that supports a date-based name pattern for the _active_ file. The log4j extras rolling appender that you're using and the [TimeAndSizeRollingAppender](http://www.simonsite.org.uk/) both let you roll based on size and name the backups based on date, but they both require a static name for the currently active log file. – Ian Roberts Aug 28 '13 at 08:56

1 Answers1

2

If you want a new log file every day use DailyRollingFileAppender. When it creates a new log file it'll rename the old one and add a date. E.g. server.log will be renamed to server.log.2013-08-28

log4j.rootLogger=INFO,Stdout, DAILY

log4j.appender.DAILY=org.apache.log4j.DailyRollingFileAppender
log4j.appender.DAILY.File=${catalina.home}/logs/server.log
log4j.appender.DAILY.DatePattern='.'yyyy-MM-dd
log4j.appender.DAILY.layout=org.apache.log4j.PatternLayout
log4j.appender.DAILY.layout.conversionPattern=%d %-5p - %-26.26c{1} - %m %n
papkass
  • 1,261
  • 2
  • 14
  • 20