【问题标题】:Generic name for the active log file活动日志文件的通用名称
【发布时间】:2018-11-12 10:26:53
【问题描述】:

我的 Spring Boot 应用程序有以下 logback.xml 文件,我打算在其中创建每日日志文件:

<?xml version="1.0" encoding="UTF-8"?>
<configuration scan="true">
    <appender name="rollingFile" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <!-- daily rollover -->
            <fileNamePattern>./logs/my-log-file.%d{yyyy-MM-dd}.log</fileNamePattern>
            <maxHistory>15</maxHistory>
            <totalSizeCap>15MB</totalSizeCap>
        </rollingPolicy>
        <layout class="ch.qos.logback.classic.PatternLayout">
            <Pattern>%d [%-5thread] [%-1p] [%logger{35}] - %msg%n</Pattern>
        </layout>
    </appender>

    <root level="WARN">
        <appender-ref ref="rollingFile"/>
    </root>
    <root level="INFO">
        <appender-ref ref="rollingFile"/>
    </root>
</configuration>

文件是这样创建的:

my-log-file.2018-11-10.log
my-log-file.2018-11-11.log
my-log-file.2018-11-12.log

我正在寻找没有日期的当前活动日志文件,因此它是像my-log-file.log 这样的通用名称,并且只有当日期滚动到新的一天时,文件才会用日期重命名。

需要对logback.xml 进行哪些更改才能启用此配置?

【问题讨论】:

    标签: java spring logging slf4j


    【解决方案1】:

    &lt;file&gt; 添加到&lt;appender&gt;,如下所示:

    <appender name="rollingFile" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>./logs/my-log-file.log</file>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <!-- daily rollover -->
            <fileNamePattern>./logs/my-log-file.%d{yyyy-MM-dd}.log</fileNamePattern>
            <maxHistory>15</maxHistory>
            <totalSizeCap>15MB</totalSizeCap>
        </rollingPolicy>
        <layout class="ch.qos.logback.classic.PatternLayout">
            <Pattern>%d [%-5thread] [%-1p] [%logger{35}] - %msg%n</Pattern>
        </layout>
    </appender>
    

    来自Logback documentation

    注意RollingFileAppender 中的file 属性( TimeBasedRollingPolicy) 可以设置或省略。通过设置 包含FileAppenderfile 属性,可以解耦 活动日志文件的位置和归档日志的位置 文件。当前日志将始终针对指定的文件 通过file 属性。随之而来的是当前活动的名称 日志文件不会随着时间而改变。但是,如果您选择省略 file 属性,则活动文件将为每个重新计算 基于fileNamePattern的值的周期。

    【讨论】:

    • 感谢详细解答
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多