我的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
需要进行哪些更改才能启用此配置?
答案 0 :(得分:0)
将<file>
添加到<appender>
,如下所示:
<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>
请注意,
file
中的RollingFileAppender
属性(TimeBasedRollingPolicy
)可以设置或省略。通过设置 包含file
的{{1}}属性,您可以将 活动日志文件的位置和归档日志的位置 文件。当前日志将始终以指定的文件为目标 通过FileAppender
属性。因此,当前活动的名称 日志文件不会随时间变化。但是,如果您选择省略file
属性,则将为每个活动文件重新计算活动文件 期间,基于file
的值。