Setting a log file name to include current date in Log4j

Tim picture Tim · Oct 10, 2008 · Viewed 180.1k times · Source

I would like to set the log file name for a log4j and log4net appender to have the current date. We are doing Daily rollovers but the current log file does not have a date. The log file name format would be

logname.2008-10-10.log

Anyone know the best way for me to do this?

edit: I forgot to mention that we would want to do this in log4net as well. Plus any solution would need to be usable in JBoss.

Answer

gedevan picture gedevan · Oct 10, 2008

DailyRollingFileAppender is what you exactly searching for.

<appender name="roll" class="org.apache.log4j.DailyRollingFileAppender">
    <param name="File" value="application.log" />
    <param name="DatePattern" value=".yyyy-MM-dd" />
    <layout class="org.apache.log4j.PatternLayout"> 
      <param name="ConversionPattern" 
          value="%d{yyyy-MMM-dd HH:mm:ss,SSS} [%t] %c %x%n  %-5p %m%n"/>
    </layout>
  </appender>