log4j属性DailyRollingFileAppender不工作

oknwwptz  于 2022-11-06  发布在  其他
关注(0)|答案(3)|浏览(194)

我需要日志文件附加yyyy-dd-mm格式的日期的每日日志。当我使用DailyRollingFileAppender时,不会创建新的日志文件。日志将写入同一个日志文件。此外,不考虑提供的日期模式。创建的日志文件是LoggerFile.log。每个内容(即使是第二天的内容)都将写入此文件。
我正在使用log4j-1.2.17 jar。我正在用Java在Netbeans 7.3.1中进行开发。
有没有人在使用这个JAR时遇到这样的问题,请帮助!
下面是我使用的属性文件的内容:


# Root logger option

log4j.rootLogger=ERROR,FILE,stdout

# Define the file appender

log4j.appender.FILE=org.apache.log4j.DailyRollingFileAppender

log4j.appender.FILE.File=.//..//logs//LoggerFile.log

# Define the layout for file appender

log4j.appender.FILE.DatePattern='.'yyyy-MM-dd
log4j.appender.FILE.layout=org.apache.log4j.PatternLayout
log4j.appender.FILE.layout.conversionPattern=%d{yyyy-MM-dd HH:mm:ss.SSS zzz} %5p     %c{1}:%L - %m%n

log4j.appender.FILE.MaxFileSize=10MB

# Direct log messages to stdout

log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L -  %m%n`
ewm0tg9j

ewm0tg9j1#

我有类似的要求,每日日志文件轮换。。(虽然问题较老,但认为答案会帮助其他人)。

要点:

1.首先,我们可以 * 避免使用DailyRollingFileAppender*。为什么?DailyRollingFileAppender已被观察到会出现同步问题和数据丢失。log4j extras配套工具包括一些备选方案,这些方案应在新部署中考虑,并在org.apache.log4j.rolling.RollingFileAppender的文档中进行了讨论。参考:Documentation of Daily Rolling File Appender

  1. Apache extras log4j,建议将org.apache.log4j.rolling.RollingFileAppenderTime based rolling policy一起使用
    1.可能会找到基于时间的日志轮转的sample配置。
    希望这对你有帮助。
huus2vyu

huus2vyu2#

首先,由于DailyRollingFileAppender不支持MaxFileSize属性,因此会出现错误。
然后,您可以尝试从DatePattern中删除字符'
试试换

log4j.appender.FILE.DatePattern='.'yyyy-MM-dd

log4j.appender.FILE.DatePattern=.yyyy-MM-dd
xuo3flqw

xuo3flqw3#

尝试添加另一行log4j.appender.file.Append=true
完整的代码如下所示


# Root logger option

            log4j.rootLogger=DEBUG, file, stdout

            # Daily rolling file appender
            log4j.appender.file=org.apache.log4j.DailyRollingFileAppender
            log4j.appender.file.File=logs/mylogs.log
            log4j.appender.file.Append=true
            log4j.appender.file.DatePattern='.'dd-MM-yyyy
            log4j.appender.file.MaxFileSize=10MB
            log4j.appender.file.MaxBackupIndex=100
            log4j.appender.file.encoding=UTF-8
            log4j.appender.file.layout=org.apache.log4j.PatternLayout
            log4j.appender.file.layout.ConversionPattern=%d{dd-MM-yyyy HH:mm:ss} %-5p %c{1}:%L - %m%n

相关问题