logback日志配置

日志用途:记录项目运行的问题

选择一个好的日志框架?

市面上的日志框架:JUL、JCL、Jboss-logging、logback、log4j、log4j2、slf4j…

logback日志配置

左边选一个门面(抽象层)、右边来选一个实现;

日志门面: SLF4J;

日志实现:Logback;

SpringBoot:底层是Spring框架,Spring框架默认是用JCL;

SpringBoot选用 SLF4jlogback

1)Springboot默认使用的日志框架是Logback, spring-boot-starter依赖包含了 spring-boot-starter-logging。

(2)日志输出级别程序运行输出的信息级别,从严重错误详细输出信息的分级)

从低到高分为TRACE < DEBUG < INFO < WARN < ERROR < FATAL

日志输出级别

ERROR 为严重错误 主要是程序的错误

WARN 为一般警告,比如session丢失

INFO 为一般要显示的信息,比如登录登出

DEBUG 为程序的调试信息

TRACE 级别最小,打印信息最为详细

(3)如何在系统中使用SLF4j ?

 logback日志配置

设置日志级别越低,打印的信息越详细,能够将日志级别高的打印出来,如果设置日志级别高,不能打印日志级别低的信息

如果你是开发测试,你可以设置为debug,或者要更详细一点可以设置为trace。

这些日志都是框架给我们设置写好的日志输出,我们只要使用就行了!

以后开发的时候,日志记录方法的调用,不应该来直接调用日志的实现类,而是调用日志抽象层里面的方法;

给系统里面导入slf4j的jar和 logback的实现jar

4)两种配置方法

第一种方法:在application.yml中配置

logback日志配置

第二种方法:在resources中添加logback-spring.xml即可配置日志。(详细自定义,用这种)

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <!--    属性-->
    <!-- 设置日志输出的目录为d:/logs/springboot-logback -->
    <property name="logDir" value="d:/logs/springboot-logback"/>
    <!-- Linux下的设置:<property name="logDir" value="/var/tmp/springboot-logback"/> -->
    <!-- 日志级别-->
    <property name="logLever" value="INFO"/>
    <!--<property name="logLever" value="WARN" /> -->

    <!-- 默认的控制台日志输出,一般生产环境都是后台启动,这个没太大作用 -->
    <appender name="stdout" class="ch.qos.logback.core.ConsoleAppender">
        <!--<Encoding>UTF-8</Encoding> -->
        <layout class="ch.qos.logback.classic.PatternLayout">
            <pattern>%black(Console-) %red(%d{yyyy-MM-dd HH:mm:ss})
                %green([%thread]) %yellow(%-5level) %blue(%logger) - %cyan(%msg%n)
            </pattern>
        </layout>
    </appender>

    <!-- 配置文件轮转 -->
    <appender name="logfile"
              class="ch.qos.logback.core.rolling.RollingFileAppender">
        <!--<Encoding>UTF-8</Encoding> -->
        <File>${logDir}/service.log</File>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <FileNamePattern>${logDir}/service.%d{yyyy-MM-dd}.log.gz</FileNamePattern>
            <maxHistory>30</maxHistory>
        </rollingPolicy>
        <layout class="ch.qos.logback.classic.PatternLayout">
            <pattern>%date [%thread] %-5level %logger{50}:%L - %msg%n</pattern>
        </layout>
    </appender>

    <logger name="com.cjy.testpaging.mapper" level="DEBUG">

    </logger>

    <!-- root 默认日志配置 , 注意这里的级别哈!小心生产环境用DEBUG,压爆你的磁盘! -->
    <root level="${logLever}">
        <appender-ref ref="logfile"/>
        <appender-ref ref="stdout"/>
    </root>
</configuration>

5日志打印的建议

位置:程序的入口、异常捕获、重要信息(复杂的业务逻辑判断 )

级别:

       info级别:帮助测试人员判断这是否是一个真正的bug,而不是自己操作失误造成的

       debug级别:帮助开发人员分析定位bug所在的位置。

输出:[id, module, params, content](关键字,模块,参数,内容)

 

相关文章:

  • 2021-08-11
  • 2021-08-22
  • 2022-01-04
  • 2021-12-18
  • 2021-07-04
  • 2021-09-24
  • 2022-03-02
  • 2022-12-23
猜你喜欢
  • 2021-11-14
  • 2022-12-23
  • 2021-12-08
相关资源
相似解决方案