SpringBoot(八)Logback的配置

本文详细介绍了在Spring Boot应用中如何通过application.properties和logback-spring.xml两种方式配置日志,包括日志级别设置、日志文件路径指定、日志格式定制以及复杂配置如按日滚动和错误日志分离等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

方法一

在application.properties中配置,该方法相对简单,可做的事情也比较简单,只能配置一些日志文件的路径、日志文件的输出格式等简单配置。

# 控制台日志输出格式 %d代表日期 %msg代表日志信息 %n代表换行
logging.pattern.console=%d - %msg%n
# 设置日志输出的文件夹, 默认日志文件名为spring.log
#logging.path=G:\\log
# 自定义日志文件名
logging.file=G:\\log\\mylog.log
# 设置日志级别
logging.level.root=info
# 为某个类或者是某个包设置日志级别
logging.level.com.example.springbootchapter8.SpringbootChapter8ApplicationTests=debug

方法二

在logback-spring.xml中配置,能够进行比较复杂的配置,如区分info和error日志、每天产生一个日志文件

<?xml version="1.0" encoding="UTF-8"?>
<configuration debug="true">

    <!-- 控制台输出配置 -->
    <appender name="consoleLog" class="ch.qos.logback.core.ConsoleAppender">
        <layout class="ch.qos.logback.classic.PatternLayout">
            <!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符-->
            <!--%-4relative 表示,将输出从程序启动到创建日志记录的时间 进行左对齐 且最小宽度为4-->
            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %green(%-5level) %magenta(%-4relative) --- [%thread] %cyan(%logger{50}) - %msg%n</pattern>
        </layout>
    </appender>

    <!-- info日志输出配置 -->
    <appender name="fileInfoLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <filter class="ch.qos.logback.classic.filter.LevelFilter">
            <level>ERROR</level> <!-- 过滤ERROR级别的日志 -->
            <onMatch>DENY</onMatch> <!-- 如果满足要求,则禁止 -->
            <onMismatch>ACCEPT</onMismatch> <!-- 如果不满足要求,则使用这条规则 -->
        </filter>
        <encoder>
            <pattern>
                %d{yyyy-MM-dd HH:mm:ss.SSS} %-5level %-4relative --- [%thread] %logger{50} - %msg%n
            </pattern>
        </encoder>
        <!--滚动策略-->
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <!--路径-->
            <fileNamePattern>G:\\log\\%d{yyyy-MM}\\%d{yyyy-MM-dd}.info.log</fileNamePattern>
        </rollingPolicy>
    </appender>

    <!-- error日志输出配置 -->
    <appender name="fileErrorLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
            <!--设置fileErrorLog只输出ERROR级别的日志-->
            <level>ERROR</level>
        </filter>
        <encoder>
            <pattern>
                %d{yyyy-MM-dd HH:mm:ss.SSS} %-5level %-4relative --- [%thread] %logger{50} - %msg%n
            </pattern>
        </encoder>
        <!--滚动策略-->
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <!--路径-->
            <fileNamePattern>G:\\log\\%d{yyyy-MM}\\%d{yyyy-MM-dd}.error.log</fileNamePattern>
        </rollingPolicy>
    </appender>

    <!--为某个包设置日志级别-->
    <logger name="com.lizhencheng.lzcblog.mapper" level="DEBUG"></logger>
    
    <root level="info">
        <appender-ref ref="consoleLog" />
        <appender-ref ref="fileInfoLog" />
        <appender-ref ref="fileErrorLog" />
    </root>

</configuration>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值