Logback TimeBasedRollingPolicy 当前文件名无日期

Logback TimeBasedRollingPolicy current filename dateless

我正在以编程方式使用 TimeBasedRollingPolicy 配置 Logback RollingFileAppender。它看起来像这样:

    RollingFileAppender<ILoggingEvent> rollingAppender = new RollingFileAppender<ILoggingEvent>();
    TimeBasedRollingPolicy<ILoggingEvent> policy = new TimeBasedRollingPolicy<ILoggingEvent>();
    policy.setContext(rootLogger.getLoggerContext());
    policy.setFileNamePattern(filePath + "/log.%d.txt");
    policy.setMaxHistory(90);
    policy.setParent(rollingAppender);
    policy.start();

    rollingAppender.setContext(context);
    rollingAppender.setRollingPolicy(policy);
    rollingAppender.setTriggeringPolicy(policy);
    rollingAppender.setLayout(layout.getLayout());
    rollingAppender.start();
    rootLogger.addAppender(rollingAppender);

理想情况下,今天的日志将在 log.txt 中,而之前滚动的日志将在 log.%d.txt 中。事实上,即使是今天的日志也在 log.%d.txt 中。如何为当天的日志获取单独的日志文件名?

使用rollingAppender.setFile("foo.txt");。活动文件名是附加程序的 属性 而不是策略。