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

标签 java logging log4j slf4j

我正在使用下面的 log4j.properties。我想创建基于分钟的文件。我检查了很多关于同一问题的帖子并尝试过,但它对我不起作用。我第一次使用 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 对于每分钟滚动附加程序来说是一个令人困惑的名称。

关于java - log4j:无法按分钟创建日志文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30499719/

相关文章:

java - Hibernate 标准过滤器内部集合

java - 是否可以使用 Hibernate Search 将 @IndexedEmbedded 字段存储在父/根中?

logging - Hadoop MapReduce 中间输出

django-sentry 不记录警告、错误等

Java:如何在 OS X Lion 中获取滚动方法?

java - 使用公共(public)变量是否有正确的时间?

c++ - 将具有堆栈缓冲区的 printf 样式记录器转换为字符串流

java - 如何让 liquibase 使用 slf4j 进行日志记录?

java - 用于调试和错误的不同 log4j 布局?

java - 使用 FOP 时禁用 Log4j INFO 级别日志记录