zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    Hello,cnblogs!
    本地搭建IIS服务器
    thinkPHP相关
    网页中经常用到的<hr / >标签的样式
    JS三元表达式
    ZUI开发人员选项
    XWindow、Server、Client和QT、GTK之间的关系
    深度桌面操作系统架构设计
    关于linux图形界面的基本知识
    linux各发行版之间的区别
  • 原文地址:https://www.cnblogs.com/JonaLin/p/11307520.html
Copyright © 2011-2022 走看看