logback 文件名格式,包括时间格式

Posted

技术标签:

【中文标题】logback 文件名格式,包括时间格式【英文标题】:logback file name format including time format 【发布时间】:2019-07-30 08:20:16 【问题描述】:

在我的项目中,我们使用 logback 进行日志记录。目前我们正在滚动文件 基于一天的完成或达到10 MB。

下面是我的配置。

<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
        <!-- rollover daily -->
        <fileNamePattern>/archived/error.%dyyyy-MM-dd.%i.log
        </fileNamePattern>
        <TimeBasedFileNamingAndTriggeringPolicy
            class="com.example.RollOnStartupAndSizeTriggeringPolicy">
                <maxFileSize>10MB</maxFileSize>
        </TimeBasedFileNamingAndTriggeringPolicy>
    </rollingPolicy>  

目前存档文件夹中的文件格式如下所示。

 error.2019-07-19.0
 error.2019-07-19.1
 error.2019-07-19.2

但我们需要如下文件格式

 error.2019-07-19 11:00:00
 error.2019-07-19 11:05:00

如果我将文件格式更改为 yyyy-MM-dd HH:mm:ss 每秒都会创建 logback。但我想要轮换 应该在一天内发生或达到 10 MB。

我尝试使用 aux,但使用它我只能创建文件夹。

<fileNamePattern>
    /archived/error.%dyyyy-MM-dd HH:mm, aux/error.%dyyyy-MM-dd.%i.log
</fileNamePattern>

有没有办法保持如下文件格式。但是文件应该每天或 10 MB 旋转

error.2019-07-19 11:00:00.log

【问题讨论】:

【参考方案1】:

在配置中加入这一行

<timestamp key="bySecond" datePattern="yyyyMMdd'T'HHmmss" 
          timeReference="contextBirth"/>

https://logback.qos.ch/manual/appenders.html

如果发生任何冲突,也请点击此链接https://logback.qos.ch/codes.html

【讨论】:

它将每秒生成文件。我需要轮换只有在达到 10 MB 或一天结束时才会发生

以上是关于logback 文件名格式,包括时间格式的主要内容,如果未能解决你的问题,请参考以下文章

Spring Boot项目的Logback配置文件使用yaml格式

sprigboot项目中配置xml格式的logback

怎么修改logback输出的mybatis的日志的格式

深入分析logback之日志格式化layout

你可能需要了解的 logback

logback自定义格式转换器