【千锋教育java教程SpringBoot2全套,springboot快速入门到项目实战视频教程】
从上面的分析,发现 Spring Boot默认已经使用了SLF4J + LogBack。
所以开发者在不进行任何额外操作的情况下就可以使用SLF4J+ Logback进行日志输出。
日志的级别分为 6 种:
举个栗子,编写Java 测试类进行测试
创建一个新项目模块:


勾一个 web 吧。

OK,一个全新的SpringBoot 工程。
测试类:
package com.dingjiaxiong;
import org.junit.jupiter.api.Test;
import org.junit.runner.RunWith;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
/*
* 测试日志输出
* SLF4J ⽇志级别从⼩到⼤trace,debug,info,warn,error
* */
@RunWith(SpringRunner.class)
@SpringBootTest
class Springboot07LogApplicationTests {
Logger logger = LoggerFactory.getLogger(getClass());
@Test
public void testLog(){
logger.trace("Trace 日志...");
logger.debug("Debug 日志...");
logger.info("Info 日志...");
logger.warn("Warn 日志...");
logger.error("Error 日志");
}
}
已知日志级别从小到大为trace 当然这样测试可能不够明显,我们写一个简单的接口: 添加一些日志打印 启动服务器【修改端口为80】 访问一下接口 这次就很明显了 SpringBoot 默认日志级别为INFO。【所以它只会打印info 或者比info更严重的错误,即warn 和 error】 一般情况下,开发时候使用DEBUG,上线后使用INFO,运维信息记录使用WARN即可。 下面就设置一下日志级别: 重启服务器 这次就有debug了 这次再访问接口 可以看到结果中还是没有我们自己的写的debug。 【原因】 虽然我们修改了启动的日志级别为debug,但是少了一个level 日志系统通常提供了细粒度的控制 再次启动服务器 好像debug 日志更多了, 再次访问接口: 这次就打印了。 如果root 后面接上info 当然默认就是info 改成warn 开发者还可以设置日志组,控制指定的包对应的日志输出级别 这意味着当前项目中,设置的组日志级别为debug,其他都是warn 重启服务器,测试 这就个性化了。【简单来说,就是总体设置一下,然后每个包可以单独设置一下,可以对每个包分组,然后对组进行日志级别设置】
package com.dingjiaxiong.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* ClassName: HelloSpringBoot
* date: 2022/10/15 14:33
*
* @author DingJiaxiong
*/
@RestController
public class HelloSpringBoot {
@RequestMapping("/hello")
public String hello(){
return "Hello,DingJiaxiong.";
}
}
package com.dingjiaxiong.controller;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* ClassName: HelloSpringBoot
* date: 2022/10/15 14:33
*
* @author DingJiaxiong
*/
@RestController
public class HelloSpringBoot {
//获取日志对象Logger
Logger logger = LoggerFactory.getLogger(getClass());
@RequestMapping("/hello")
public String hello(){
logger.debug("debug...日志");
logger.info("info...日志"); //服务器默认info,所以下面的会有,debug不会打印
logger.warn("warn...日志");
logger.error("error...日志");
return "Hello,DingJiaxiong.";
}
}


# 开启debug模式,输出调试信息,常用于检查系统运行状况
debug: true




# 设置日志级别,root 表示根节点,即整体应用日志级别
logging:
level:
root: debug




logging:
# 设置日志组
group:
# 自定义组名,设置当前组中所包含的包
mygroup: com.dingjiaxiong.controller
level:
root: warn
# 为对应的组设置日志级别
mygroup: debug

