java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > SpringBoot集成slf4j

SpringBoot集成slf4j进行日志记录

作者:真实数据

本文介绍了如何在Spring Boot中集成SLF4J进行日志记录,首先在yml文件中配置日志级别,然后创建logback.xml文件进行日志配置,在需要打印日志的地方,使用LoggerFactory获取Logger对象,并使用占位符进行日志信息的打印,感兴趣的朋友跟随小编一起看看吧

使用非常简单,在需要打印或者查看日志的情况下,可以采用这种打印,比sout直接输出要省性能。

1.首先在yml文件中配置

spring:
logging:
  config: logback.xml
  level:
    com.itcodai.course03.dao: trace

常用的日志级别按照从高到低依次为:ERROR、WARN、INFO、DEBUG。

上面这个日志级别是将sql语句打印出来

2.然后在springboot配置文件中加一个logback.xml文件,叫啥无所谓自己指定就行

<configuration>
    <property name="LOG_PATTERN" value="%date{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n" />
    <property name="FILE_PATH" value="D:/logs/course03/demo.%d{yyyy-MM-dd}.%i.log" />
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
    <encoder>
        <!-- 按照上面配置的LOG_PATTERN来打印日志 -->
        <pattern>${LOG_PATTERN}</pattern>
    </encoder>
</appender>
    <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <!-- 按照上面配置的FILE_PATH路径来保存日志 -->
            <fileNamePattern>${FILE_PATH}</fileNamePattern>
            <!-- 日志保存15天 -->
            <maxHistory>15</maxHistory>
            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                <!-- 单个日志文件的最大,超过则新建日志文件存储 -->
                <maxFileSize>10MB</maxFileSize>
            </timeBasedFileNamingAndTriggeringPolicy>
        </rollingPolicy>
        <encoder>
            <!-- 按照上面配置的LOG_PATTERN来打印日志 -->
            <pattern>${LOG_PATTERN}</pattern>
        </encoder>
    </appender>
    <logger name="com.itcodai.course03" level="INFO" />
    <root level="INFO">
        <appender-ref ref="CONSOLE" />
        <appender-ref ref="FILE" />
    </root>
</configuration>

3.在需要使用的地方,private final static Logger logger = LoggerFactory.getLogger(TestController.class);

  private static final Logger logger = LoggerFactory.getLogger(Test.class);
    @Test
    public void er(){
        int i=10;
        logger.debug("=====测试日志debug级别打印====");
        logger.info("======测试日志info级别打印=====");
        logger.error("=====测试日志error级别打印====");
        logger.warn("======测试日志warn级别打印=====");
        // 可以使用占位符打印出一些参数信息
        String str1 = "blog.itcodai.com";
        String str2 = "blog.csdn.net/eson_15";
        logger.info("======测试:{}", str1);
        logger.info("测试:{}",i);
    }

打印信息为

20:06:20.561 [main] INFO  org.junit.jupiter.api.Test - ======测试日志info级别打印=====
20:06:20.563 [main] ERROR org.junit.jupiter.api.Test - =====测试日志error级别打印====
20:06:20.563 [main] WARN  org.junit.jupiter.api.Test - ======测试日志warn级别打印=====
20:06:20.563 [main] INFO  org.junit.jupiter.api.Test - ======测试:blog.itcodai.com
20:06:20.564 [main] INFO  org.junit.jupiter.api.Test - 测试:10

打印其他信息需要有占位符{}。

到此这篇关于SpringBoot集成slf4j的文章就介绍到这了,更多相关SpringBoot集成slf4j内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文