设置日志文件名以在 Log4j 中包含当前日期
我想将log4j和log4net追加器的日志文件名设置为具有当前日期。我们正在执行每日翻转,但当前日志文件没有日期。日志文件名格式将为
logname.2008-10-10.log
有谁知道我这样做的最佳方法吗?
编辑:我忘了提到我们也想在log4net中这样做。此外,任何解决方案都需要在 JBoss 中可用。
我想将log4j和log4net追加器的日志文件名设置为具有当前日期。我们正在执行每日翻转,但当前日志文件没有日期。日志文件名格式将为
logname.2008-10-10.log
有谁知道我这样做的最佳方法吗?
编辑:我忘了提到我们也想在log4net中这样做。此外,任何解决方案都需要在 JBoss 中可用。
DailyRollingFileAppender是你真正搜索的。
<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>
使用log4j.properties文件,并将apache-log4j-extras 1.1包含在我的POM中,log4j 1.2.16
log4j.appender.LOGFILE=org.apache.log4j.rolling.RollingFileAppender
log4j.appender.LOGFILE.RollingPolicy=org.apache.log4j.rolling.TimeBasedRollingPolicy
log4j.appender.LOGFILE.RollingPolicy.FileNamePattern=/logs/application_%d{yyyy-MM-dd}.log