如何在我的 Java 程序中更改滚动文件附加程序中的文件名

how to change filename in my rolling file appender in my Java program

我想在我的滚动文件附加器中更改我的文件名,并在其中添加当前日期这是我的配置:

    <RollingFile
  name="rollingFile"
  fileName="logs/%d{YYYY-MM-DD}.application.log"
     filePattern="logs/application.%d{dd-MMM}.log.gz"
  ignoreExceptions="false">
  <PatternLayout>
      <Pattern>%m</Pattern>
  </PatternLayout>
  <Policies>
      <TimeBasedTriggeringPolicy interval="1"/>
  </Policies>
  <DefaultRolloverStrategy max="5" />
</RollingFile>

但是当我这样做时,在我的日志文件夹中为我创建的文件是这样的:

%d{YYYY-MM-DD}.application.log

为什么? 我只想添加当前日期,但 log4j 未检测到 %d{YYYY-MM-DD} 模式并添加了确切的字符串??!

据我了解,fileName 应该是日志文件在“滚动”之前的确切名称(活动日志文件)。 filePattern 确定文件在滚动时重命名为什么。尝试将 fileName 设置为 logs/application.log 并使用您想要的 filePattern.

中存档文件的日期格式