log4j.properties输出文件名配置应为:path+;DD-MM-AAAA-Filename.log

log4j.properties输出文件名配置应为:path+;DD-MM-AAAA-Filename.log,log4j,log4j2,Log4j,Log4j2,我正在尝试使用路径为.log/DD-MM-AAAA-Filename.log的日志输出文件 log4j.rootLogger=DEBUG, stdout, file # Redirect log messages to console log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.Target=System.out log4j.appender.stdout.layout=org.apac

我正在尝试使用路径为.log/DD-MM-AAAA-Filename.log的日志输出文件

log4j.rootLogger=DEBUG, stdout, file
# Redirect log messages to console
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
# Redirect log messages to a log file, support file rolling.
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=./logs/%d{yyyy-MM-dd HH:mm:ss} - logTest.log
log4j.appender.file.MaxFileSize=1MB
log4j.appender.file.MaxBackupIndex=2
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n
实际上它不起作用。如果删除%d{yyyy-MM-dd HH:MM:ss}则输出为:logs/logTest.log 但我需要在输出文件名上注明日期

我想要的是:logs/DD-MM-YYYY-logTest.log


你能告诉我怎么做吗?

试试下面的代码片段,它会在第二天将日期添加到生成的日志文件中

# configure the root logger
log4j.rootLogger=INFO, DAILY, stdout
#configure the daily rolling file appender
log4j.appender.DAILY=org.apache.log4j.DailyRollingFileAppender

log4j.appender.DAILY.File=/opt/ZudioFeedbackApplication/log/zudio.log
log4j.appender.file.MaxFileSize=10MB
log4j.appender.DAILY.DatePattern='.'yyyy-MM-dd
log4j.appender.DAILY.layout=org.apache.log4j.PatternLayout
log4j.appender.DAILY.layout.conversionPattern=%d{HH:mm} [%p] %c:%L - %m%n

# 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
生成的日志文件如下所示。
zudio.log
(您可以更改名称和路径),第二天它将使用
zudio.log.2019-11-19
重命名自己。对于您的需求,可以通过更改
DatePattern

尝试下面的代码段,它将在第二天将日期添加到生成的日志文件中

# configure the root logger
log4j.rootLogger=INFO, DAILY, stdout
#configure the daily rolling file appender
log4j.appender.DAILY=org.apache.log4j.DailyRollingFileAppender

log4j.appender.DAILY.File=/opt/ZudioFeedbackApplication/log/zudio.log
log4j.appender.file.MaxFileSize=10MB
log4j.appender.DAILY.DatePattern='.'yyyy-MM-dd
log4j.appender.DAILY.layout=org.apache.log4j.PatternLayout
log4j.appender.DAILY.layout.conversionPattern=%d{HH:mm} [%p] %c:%L - %m%n

# 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
生成的日志文件如下所示。
zudio.log
(您可以更改名称和路径),第二天它将使用
zudio.log.2019-11-19
重命名自己。根据您的要求,可以通过更改日期模式来尝试它。是否可以在不等待00h01的情况下检查它是否正常工作?是否可以在不等待00h01的情况下检查它是否正常工作?内置文件附加器不提供此选项。所以,如果您希望日志文件名中包含日期,则必须通过扩展FileAppender类来创建自己的FileAppender。或者,正如@Amol回答的那样,只需使用DatePattern,等待一天即可获得附加日期的文件名。内置的文件追加器不提供此类选项。所以,如果您希望日志文件名中包含日期,则必须通过扩展FileAppender类来创建自己的FileAppender。或者,正如@Amol回答的那样,只需使用DatePattern,等待一天即可获得附加日期的文件名。