log4j:无法按分钟创建日志文件

log4j: Unable to create log files on minute basis

我在下面使用log4j.properties。我想创建文件分钟基础。我在同一个问题上检查了很多 post 并尝试过,但它对我没有用。我是第一次使用 log4j,如果我在属性文件中做错了什么,请提出建议。

log4j.rootLogger=debug, stdout, R

log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d  %-5p  [%c{1}] %m %n

log4j.appender.R=org.apache.log4j.RollingFileAppender
log4j.appender.R.File=/opt/aTest/log.out
log4j.appender.R.MaxFileSize=100KB
# Keep one backup file
log4j.appender.R.MaxBackupIndex=10
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern="%d  %-5p  [%c{1}] %m %n


log4j.appender.DailyRoller=org.apache.log4j.DailyRollingFileAppender
log4j.appender.DailyRoller.datePattern='.'yyyy-MM-dd-HH-mm
log4j.appender.DailyRoller.file=/opt/aTest/log.out
log4j.appender.DailyRoller.layout=org.apache.log4j.PatternLayout
log4j.appender.DailyRoller.layout.ConversionPattern=%d{yyyy-MMM-dd HH:mm:ss,SSS} [%t] %c %x%n  %-5p %m%n

log4j.appender.LOGFILE=org.apache.log4j.rolling.RollingFileAppender
log4j.appender.LOGFILE.RollingPolicy=org.apache.log4j.rolling.TimeBasedRollingPolicy
log4j.appender.LOGFILE.RollingPolicy.FileNamePattern=/opt/aTest/log_%d{yyyy-MM-dd-HH}.out

我只创建了一个 log.out 文件,并且每个 运行 日志都附加到同一个文件中。

您应该尝试XML格式进行配置;属性文件很难理解,容易出错(如您所知:-)

这里的问题是仅仅定义一个appender是不够的,你还必须告诉log4j使用它:

log4j.rootLogger=debug, stdout, DailyRoller

此外,DailyRoller 是每分钟滚动附加程序的一个令人困惑的名称。