- Using org.apache.log4j.DailyRollingFileAppender, part of the core Log4j API.
Configuration in XML:
<appender name="light" class="org.apache.log4j.DailyRollingFileAppender"> <param name="File" value="${catalina.base}/logs/light.log" /> <param name="Append" value="true" /> <param name="DatePattern" value="'.'yyyy-MM-dd" /> <layout class="org.apache.log4j.PatternLayout"> <param name="ConversionPattern" value="%d{HH:mm:ss} %-5p %t %c{2} - %m%n" /> </layout> </appender>
This will create a file light.log, and at each midnight it will roll, renaming the light.log to something likelight.log.2009-09-02
If you want to configure when the rollover happens, check the possibilities here.
My only problem here was with the fixed, arbitrary filename (the current date/time is always appended to the end). If you want to change this, you have to look further.
- Using org.apache.log4j.rolling.RollingFileAppender from log4j companions you can specify the file-naming conventions as well. Configuration in XML:
<appender name="light" class="org.apache.log4j.rolling.RollingFileAppender"> <rollingPolicy class="org.apache.log4j.rolling.TimeBasedRollingPolicy"> <param name="FileNamePattern" value="${catalina.base}/logs/light-%d{yyyy-MM}.log" /> </rollingPolicy> <layout class="org.apache.log4j.PatternLayout"> <param name="ConversionPattern" value="%d{HH:mm:ss} %-5p %t %c{2} - %m%n" /> </layout> </appender>
By changing FileNamePattern, you can specify the format of the date in the generated log file's name. For more info about the possible configurations see http://logging.apache.org/log4j/companions/extras/apidocs/org/apache/log4j/rolling/RollingFileAppender.html. Don't forget to have the Apache Log4J Extras in your classpath!
9/02/2009
Daily logging with log4j
To generate a daily log with log4j, we have the following options:
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment