第二节 SpringBoot使用日志

一、使用日志

        SpringBoot中默认集成了Slf4j日志。

        配置非常的简单。在application.yml中添加如下配置。

        常见的对于日志的配置(1)配置日志输出位置file(2)配置日志输出格式pattern(3)配置日志输出等级level

logging:
  #配置日志位置
  file: /opt/logs/web-learn-springboot/web-learn-springboot.out
  #配置日志输出格式(定位到哪行输出,方便排查)
  pattern:
      console: '%d{HH:mm:ss.SSS} %-5level %logger{36} [%line] - %msg%n'
     #console: '%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36}[%line] - %msg%n'

         不同分支可以定义不同的日志输出等级。

         在dev分支中定义日志输出等级。我们自己的包与Spring相关包,输出日志大于等于debug级别的日志。

logging:
  level:
    com.zhoutianyu.learnspringboot: debug
    org.springframework.web: debug

         在test分支中定义日志输出等级。我们自己的包与Spring相关包,输出日志大于等于info级别的日志。

logging:
  level:
    com.zhoutianyu.learnspringboot: info
    org.springframework.web: info

        在pro分支中定义日志输出等级。我们自己的包与Spring相关包,输出error级别的日志。

logging:
  level:
    com.zhoutianyu.learnspringboot: error
    org.springframework.web: error

二、测试

         编写一个Contoller类来验证日志等级。

package com.zhoutianyu.learnspringboot.log;


import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class HelloController {

    private static final Logger LOGGER = LoggerFactory.getLogger(HelloController.class);

    @GetMapping(value = "/log/test")
    public String function(String paramType) {
        if (LOGGER.isDebugEnabled()) {
            LOGGER.debug("debug级别日志");
        }
        LOGGER.info("info级别日志");
        LOGGER.error("error级别日志");
        return paramType;
    }
}

(1)首先在application.yml中切换成dev分支,访问并启动项目。访问开发分支的8081端口。

         浏览器访问:http://localhost:8081/study/springboot/log/test?paramType=abc

         控制台输出

        

(2)切换成test分支,并重新启动项目。访问测试分支的8082端口。

         浏览器访问:http://localhost:8082/study/springboot/log/test?paramType=abc控制台输出   
         

(3)切换成pro分支,并重新启动项目。访问测试分支的8083端口。

         浏览器访问:http://localhost:8083/study/springboot/log/test?paramType=abc控制台输出   

        

        再通过上面的图片,回头看日志输出格式。

        console: '%d{HH:mm:ss.SSS} %-5level %logger{36} [%line] - %msg%n'

        %d表示时间输出格式。 level表示输出等级。

        line表示哪行代码输出的日志。详细配置如下。

logging:
  pattern:
      console: '%d{HH:mm:ss.SSS} %-5level %logger{36} [%line] - %msg%n'

三、源码下载

        本章节项目源码:点我下载源代码

        目录贴:跟着大宇学SpringBoot-------目录帖

posted @ 2022-07-17 12:14  小大宇  阅读(171)  评论(0编辑  收藏  举报