【发布时间】:2021-04-27 23:56:55
【问题描述】:
我正在尝试使用包含生成日期的动态名称创建日志文件。
我有以下 log4j2.properties 文件:
status = error
name = PropertiesConfig
property.filename = C:\\logs\\debug.log
filters = threshold
filter.threshold.type = ThresholdFilter
filter.threshold.level = debug
appenders = rolling
appender.rolling.type = RollingFile
appender.rolling.name = RollingFile
appender.rolling.fileName = ${filename}
appender.rolling.filePattern = debug-backup-%d{MM-dd-yy-HH-mm-ss}-%i.log
appender.rolling.layout.type = PatternLayout
appender.rolling.layout.pattern = %d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n
appender.rolling.policies.type = Policies
appender.rolling.policies.time.type = TimeBasedTriggeringPolicy
appender.rolling.policies.time.interval = 1
appender.rolling.policies.time.modulate = true
appender.rolling.policies.size.type = SizeBasedTriggeringPolicy
appender.rolling.policies.size.size=10MB
appender.rolling.strategy.type = DefaultRolloverStrategy
appender.rolling.strategy.max = 20
loggers = rolling
logger.rolling.name = com.howtodoinjava
logger.rolling.level = debug
logger.rolling.additivity = false
logger.rolling.appenderRef.rolling.ref = RollingFile
但是,我不想在文件名中包含小时、分钟和秒,所以我将 appender.rolling.filePattern 属性更改为 debug-backup-%d{MM-dd-yy}-%i.log 并且文件停止生成。我也尝试了不同的日期格式,但无论我如何更改它都将不再有效,除非我撤消并使用旧的日期格式。
【问题讨论】: