java - 文件名中带有时间戳的 Logback 文件未滚动

标签 java logging logback logback-classic

我正在使用以下日志配置。当文件名中包含时间戳时,文件不会滚动。这是因为时间戳中使用了 timeReference 吗?如果我从文件名中删除时间戳,则文件将滚动达到 10KB 文件大小。

有没有办法在文件名中包含时间戳并同时使翻转工作?

<timestamp key="startTime" datePattern="yyyyMMdd_HHmmss" timeReference="contextBirth">
<property name="logFileName" value="xyz_${startTime}">
<appender name="file" class="ch.qos.logback.core.rolling.RollingFileAppender">
    <file>${logFileName}.log</file>
    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
        <fileNamePattern>${logFileName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
        <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
            <maxFileSize>10KB</maxFileSize>
        </timeBasedFileNamingAndTriggeringPolicy>
    </rollingPolicy>
    <encoder>
        <pattern>%date %level %logger{35} %msg%n%rEx</pattern>
    </encoder>
</appender>

最佳答案

我解决了这个问题。有 2 个具有相同文件名的附加程序。所以重命名失败了。

以下描述 https://logback.qos.ch/codes.html网站帮助了我。

File/FileNamePattern option has the same value "..." as that given for appender [...] defined earlier.

If a FileAppender/RollingFileAppender defined earlier has the same File option as the current appender, then those two appenders are in collision as FileAppender instances cannot share the same output target. To prevent loss of data, the current appender will not start. Make sure that each appender has a unique File option.

By analogy the same restriction applies to the FileNamePattern option of RollingFileAppender. Make sure that each RollingFileAppender has a unique FileNamePattern option

关于java - 文件名中带有时间戳的 Logback 文件未滚动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45476828/

相关文章:

java - MySQL 查询 "select top 5"查询

java - 对字符串的链接列表进行词法排序

java - 如何设置 JButton 的按钮颜色(不是背景颜色)

c++ - 在 MacOSX 上,在 C++ 程序中,我对文件 IO 有什么保证

java - 如何使用 groovy 配置文件激活 "Logback setup" Debug模式?

java - 在 Junit 中,如何防止打印故意抛出并已在日志中捕获的预期异常?

java - Hibernate,将两列连接到一列

c# - 我可以通过函数传递参数属性吗?

java - Logback,根本没有日志文件(RollingFileAppender 和 SizeBasedTriggeringPolicy

java - spring boot、logback 和 logging.config 属性