• SpringBoot日志相关


    SpringBoot使用的是SLF4j当门面,Logback当实现完成

    日志级别

    数字越大,级别越高,框架只会输出大于等于当前日志级别的信息

    • ERROR 40
    • WARN 30
    • INFO 20
    • DEBUG 10
    • TRACE 0

    几种常用的使用方法

    第一种 :

    默认的级别上info,按上面的排名只会输出 info,warn,error级别以上的日志

    在获取logger对象时,一般都是将本类的class传递进去,在默认的格式在日志输出时会把每条日志信息所在的class名输出出来

    第二种: SpringBoot整合 Lombok

    Lombok不仅仅提供了强大的@Data,和getset注解,同时支持日志相关

    @Slf4j添加在类上,我们就不用再手动的获取Logger对象了,而是直接使用log

    格式:

    在输出日志的时候可以向下面这样,两种写法

    logback-sring.xml的配置

    通过这个配置文件,可以更方便的控制日志的输出,比如将 级别为info的输出到A文件, 级别为error的输出到B文件

    默认放置在Resources目录下

    <?xml version="1.0" encoding="UTF-8"?>
    <configuration>
    
        <!-- 配置项  配置控制台的输出-->
        <appender name="consoleLog" class="ch.qos.logback.core.ConsoleAppender">
            <!--展示格式-->
            <layout class="ch.qos.logback.classic.PatternLayout">
                 <pattern>
                     %d - %msg%n
                 </pattern>
            </layout>
        </appender>
    
        <!-- 配置项  配置文件的输出  -->
        <appender name="fileInfoLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
            <!-- 只保留 INFO -->
            <filter class="ch.qos.logback.classic.filter.LevelFilter">
                <level>ERROR</level>
                <!-- 当匹配到error时, 禁止输出 -->
                <onMatch>DENY</onMatch>
                <onMismatch>ACCEPT</onMismatch>
            </filter>
    
            <encoder> <!--展示格式-->
                <pattern>
                    %msg%n
                </pattern>
            </encoder>
            <!--滚动策略  按照时间,每天产生一个-->
            <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
                <!--路径-->
                <fileNamePattern>E:info.%d.log</fileNamePattern>
            </rollingPolicy>
        </appender>
    
    
        <!-- 创建第三个配置项,将error和info分别输出到不同的文件中 -->
        <appender name="fileErrorLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
            <!-- 只保留ERROR -->
            <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
                <level>ERROR</level>
            </filter>
    
            <encoder>
                <!--展示格式-->
                <pattern>
                    %msg%n
                </pattern>
            </encoder>
            <!--滚动策略  按照时间,每天产生一个-->
            <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
                <!--路径-->
                <fileNamePattern>E:error.%d.log</fileNamePattern>
            </rollingPolicy>
        </appender>
    
    
        <!-- 将上面的配置项,使用到root目录上 -->
        <root level="info">
            <appender-ref ref="consoleLog"/>
            <appender-ref ref="fileInfoLog"/>
            <appender-ref ref="fileErrorLog"/>
        </root>
    
    </configuration>

    此文来源于: https://www.cnblogs.com/ZhuChangwu/p/11266679.html#2541471269

  • 相关阅读:
    HDU 4289 Control [网络流拆点]
    HDU 4292 Food [网络流]
    HDU 4284 Travel [TSP]
    HDU 4291 A Short problem [矩阵]
    通过100个单词掌握英语语法(四十一)make
    通过100个单词掌握英语语法(四十二)may
    通过100个单词掌握英语语法(四十六)much
    通过100个单词掌握英语语法(四十七)my
    通过100个单词掌握英语语法(四十八)need
    通过100个单词掌握英语语法(四十五)most
  • 原文地址:https://www.cnblogs.com/JonaLin/p/11307520.html
Copyright © 2020-2023  润新知