java - 在 log4j 中使用 FileNamePattern、RollingFileAppender

标签 java logging log4j

我有一个名为 app.log 的日志文件。当它滚动时(出于测试目的,我将其设置为每分钟一次),我希望将其重命名为 app-YYYY-MM-dd_HH-mm.log 但它不起作用。下面是我的 log4j 设置:

log4j.appender.myLog=org.apache.log4j.RollingFileAppender
log4j.appender.myLog.rollingPolicy=TimeBasedRollingPolicy
log4j.appender.myLog.File=logs/app.log
log4j.appender.myLog.rollingPolicy.FileNamePattern=logs/app-%d{yyyy-MM-dd_HH-mm}.log
log4j.appender.myLog.Append=true
log4j.appender.myLog.layout=org.apache.log4j.PatternLayout
log4j.appender.myLog.layout.ConversionPattern=%d %-5p [%t] %-17c{2} (%13F:%L) %3x - %m%n

谁知道问题出在哪里?在翻转期间,它只是将文件重命名为 app.log.1

最佳答案

根据log4j wiki :

Note that TimeBasedRollingPolicy can only be configured with xml, not log4j.properties

The API没有提到这一点,但也许这就是问题所在?

关于java - 在 log4j 中使用 FileNamePattern、RollingFileAppender,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4324427/

相关文章:

Java 反射与 Jess

cocoa - 如何在Mac上登录到文件(类似于log4net)

grails - 当我使用JDBCAppender设置log4j时,Grails抛出ClassNotFoundException

java - 如何检查是否加载了 log4j.properties?

tomcat - 部署 grails 应用程序时 stacktrace.log 出现问题

java - 为什么这个数组已经初始化了却为空?

java - 运行 JAR 时出现 ClassNotFoundException,在 IntelliJ IDEA 中运行时没有错误

java - Signjar 不支持 OSX java 版本 "sigalg"的 "1.6.0_37"属性

java - 对 logback 中的特定记录器使用不同的模式

java - 如何分解 Java 8 和 SLF4J 中的条件日志检查?