Log4J dailyrolling appender会截断每日文件

时间:2011-09-02 15:28:06

标签: java log4j

我的log4JAppender遇到了这个奇怪的问题。

我使用dailyRollingFileAppender,其配置如下:

#---------------------------------------------------------------------------------------
# Log config for the Web
#---------------------------------------------------------------------------------------
log4j.appender.aWeb = org.apache.log4j.DailyRollingFileAppender
log4j.appender.aWeb.DatePattern = '.'yyyy-MM-dd'.log'
log4j.appender.aWeb.file = @LOG_DIR@/web.log
log4j.appender.aWeb.layout = org.apache.log4j.PatternLayout
log4j.appender.aWeb.layout.ConversionPattern = [ %d [%t] %C{2}.%M():%L %X{USER_NAME}%x %-5p]: %m%n

现在,我的主日志文件工作得很好,问题出现在正在创建的每日滚动文件中。

每日滚动文件,没有完整的日志,而是截断的。

一些观察: 1.截断不是基于长度,即不同的文件中包含不同数量的记录数据 2.也许,日志语句的数量可能是相同的,即在20个日志语句之后日志被截断,或者类似的东西。

我不确定为什么会发生这种情况,有人已经遇到过这个问题,如果没有,可能会有相同的解决办法。

由于

1 个答案:

答案 0 :(得分:0)

我没有遇到你遇到DailyRollingFileAppender的问题,但我建议将RollingFileAppender与log4j extras包中的TimeBasedRollingPolicy结合使用 - http://logging.apache.org/log4j/companions/extras/index.html

这对我们来说一直很好。没有截断问题。下面的示例配置。

# Define the appender which is the RollingFileAppender in the Log4j extras packages
log4j.appender.FILE=org.apache.log4j.rolling.RollingFileAppender
# Define a the RollingPolicy for this Appender
# More information at http://logging.apache.org/log4j/companions/extras/apidocs/org/apache/log4j/rolling/TimeBasedRollingPolicy.html
log4j.appender.FILE.RollingPolicy=org.apache.log4j.rolling.TimeBasedRollingPolicy
# Define the active file name for this RollingPolicy this is the file were current log is placed
log4j.appender.FILE.RollingPolicy.ActiveFileName=@LOG_DIR@/web.log
# Define the file name for the rolling policy. This file location contains a pattern that specifies how often the file will roll over and if compression should occur or not.
log4j.appender.FILE.RollingPolicy.FileNamePattern=@LOG_DIR@/web.%d{yyyy-MM-dd}-00-00.log.gz