Spring Boot - 日志文件配置,logback 配置(超详细)
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<!-- 定义日志的根级别和输出方式 -->
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%d{yyyy-MM-dd HH:mm:ss} - %msg%n</pattern>
</encoder>
</appender>
<!-- 日志文件保留策略 -->
<property name="maxHistory" value="30"/>
<property name="maxFileSize" value="30MB"/>
<property name="fileRetentionPeriod" value="10 days"/>
<!-- 按日期滚动的日志文件, 保留30天内的日志 -->
<appender name="TIME_BASED_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>logs/myapp.log</file>
<encoder>
<pattern>%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n</pattern>
</encoder>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- 日志文件的存储路径及文件名格式 -->
<fileNamePattern>logs/myapp.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
<!-- 日志文件的最大保留时间 -->
<maxHistory>${maxHistory}</maxHistory>
<!-- 日志文件的保留时间 -->
<totalSizeCap>${fileRetentionPeriod}</totalSizeCap>
</rollingPolicy>
<!-- 日志文件的最大大小 -->
<triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
<maxFileSize>${maxFileSize}</maxFileSize>
</triggeringPolicy>
</appender>
<!-- 设置特定包的日志级别 -->
<logger name="com.example.myapp" level="DEBUG" additivity="false">
<appender-ref ref="STDOUT"/>
<appender-ref ref="TIME_BASED_FILE"/>
</logger>
<!-- 设置日志的根级别 -->
<root level="INFO">
<appender-ref ref="STDOUT"/>
</root>
</configuration>
这个配置文件定义了两种日志appender:STDOUT和TIME\_BASED\_FILE。STDOUT用于在控制台输出日志,TIME\_BASED\_FILE则按日期滚动地写入日志文件,并且限制了文件的大小和保留时间。同时,它展示了如何为特定包(com.example.myapp)设置不同的日志级别和输出方式。
评论已关闭