SpringBoot——slf4j+logback日志处理及配置详解

x33g5p2x  于2022-02-07 转载在 Spring  
字(2.2k)|赞(0)|评价(0)|浏览(419)

SpringBoot——sl4j+logback日志处理及配置详解

日志的级别

打印级别:ALL > TRACE > FATAL > DEBUG > INFO > WARN > ERROR > OFF

输出级别:TRACE > DEBUG > INFO > WARN > ERROR

logback-spring.xml配置文件

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration>
 
<configuration scan="true">
    <include resource="org/springframework/boot/logging/logback/base.xml"/>
 
    <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <!--如果只是想要 Info 级别的日志,只是过滤 info 还是会输出 Error 日志,因为 Error 的级别高,所以我们使用下面的策略,可以避免输出 Error 的日志-->
        <filter class="ch.qos.logback.classic.filter.LevelFilter">
            <!--过滤 Error-->
            <level>ERROR</level>
            <!--匹配到就禁止-->
            <onMatch>DENY</onMatch>
            <!--没有匹配到就允许-->
            <onMismatch>ACCEPT</onMismatch>
        </filter>
        <!--日志名称,如果没有File 属性,那么只会使用FileNamePattern的文件路径规则
         如果同时有<File>和<FileNamePattern>,那么当天日志是<File>,明天会自动把今天
         的日志改名为今天的日期。即,<File> 的日志都是当天的。-->
        <File>logs/hdback.log</File>
        <!--滚动策略,按照时间滚动 TimeBasedRollingPolicy-->
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <!--文件路径,定义了日志的切分方式——把每一天的日志归档到一个文件中,以防止日志填满整个磁盘空间-->
            <fileNamePattern>logFile.%d{yyyy-MM-dd}.log</fileNamePattern>
            <!--只保留最近20天的日志-->
            <maxHistory>20</maxHistory>
            <!--用来指定日志文件的上限大小,那么到了这个值,就会删除旧的日志-->
            <!--<totalSizeCap>1GB</totalSizeCap>-->
        </rollingPolicy>
        <!--日志输出编码格式化-->
        <encoder>
            <charset>utf-8</charset>
            <Pattern>%d %-5level [%thread] %logger{0}: %msg%n</Pattern>
        </encoder>
    </appender>
 
</configuration>

在application.yml/application.xml中的一般配置

logging.config= 日志配置文件的位置。例如,classpath:logback.xml。
logging.exception-conversion-word=%wEx 转换异常时使用的转换字。
logging.file= 设置保存日志的日志文件
logging.file.max-history=90 历史日志保存的最大天数
logging.file.max-size=10MB 设置日志文件最大大小
logging.level.*= 设置日志等级
logging.path= 日志文件的位置,例如/var/log
logging.pattern.console= 定义打印的日志格式
logging.pattern.dateformat=yyyy-MM-dd HH:mm:ss.SSS 设置日志日期格式
logging.pattern.file= 定义输出到日志文件的日志格式
logging.register-shutdown-hook=false 当初始化日志系统时,为其注册一个关闭钩子。

作为自己的笔记,也给有需要的朋友一个参考。

相关文章