log4j属性DailyRollingFileAppender不起作用

Nit*_*hat 13 java logging netbeans log4j rollingfileappender

我希望每日日志的日志文件附加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`
Run Code Online (Sandbox Code Playgroud)

San*_*nan 6

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

关键点:

  1. 首先,我们可以避免使用 DailyRollingFileAppender。为什么?已观察到 DailyRollingFileAppender 出现同步问题和数据丢失。log4j extras 伴侣包括新部署应考虑的替代方案,并在 org.apache.log4j.rolling.RollingFileAppender 的文档中讨论。参考:Daily Rolling File Appender 的文档

  2. Apache extras log4j,建议将org.apache.log4j.rolling.RollingFileAppender与基于时间的滚动策略一起使用

  3. 可以找到基于时间的日志轮换的示例配置。

希望这可以帮助。


Jay*_*Jay -1

尝试添加另一行 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
Run Code Online (Sandbox Code Playgroud)