Playframework 正在播放框架日志记录中获取FixedWindowRollingPolicy的当前时间

Playframework 正在播放框架日志记录中获取FixedWindowRollingPolicy的当前时间,playframework,logback,Playframework,Logback,我想最多保存20个日志文件,当文件达到一定大小时,我会回滚。 问题是——当我归档一个文件时,我希望以它的名称显示当前时间 目前我使用: <timestamp key="bySecond" datePattern="ddMMyyyy'-'HHmmss" timeReference="contextBirth"/> <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppende

我想最多保存20个日志文件,当文件达到一定大小时,我会回滚。 问题是——当我归档一个文件时,我希望以它的名称显示当前时间

目前我使用:

    <timestamp key="bySecond" datePattern="ddMMyyyy'-'HHmmss" timeReference="contextBirth"/>

    <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>${application.home}/logs/log.txt</file>
        <append>true</append>
        <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
            <fileNamePattern>${application.home}/logs/${bySecond}.%i.log</fileNamePattern>
            <minIndex>1</minIndex>
            <maxIndex>30</maxIndex>
        </rollingPolicy>

        <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
            <maxFileSize>2KB</maxFileSize>
        </triggeringPolicy>
        <encoder>
            <pattern>%date [%level] [%thread] from %logger  - %message%n%xException</pattern>
        </encoder>
    </appender>

${application.home}/logs/log.txt
真的
${application.home}/logs/${bySecond}.%i.log
1.
30
2KB
%日期[%level][%thread]来自%logger-%message%n%xException
但是这里的问题是,
bySecond
时间戳在服务启动时只计算一次

我想要的是每次滚动的当前时间。 我怎样才能做到这一点

顺便说一句,
如果我不需要在文件名中使用%i,那就太好了

@MichałWolnicki它适用于基于时间的RollingPolicy,但我使用的是FixedWindowRollingPolicy,它不允许使用%d。您找到答案了吗?