创建一个名为springboot_loggin的Maven项目
org.springframework.boot spring-boot-starter-parent 2.6.4 org.springframework.boot spring-boot-starter-web
一定要刷新
1.日志级别从底到高:, trace debug info,warn ,error。我们在打印日志的时候,就可以选择上述的日志级别来打印。
2.不同日志级别来打印日志有不同的颜色。
3.并且可以使用logging.level.root=日志级别来确定所有包的默认日志级别,以及指定包下的默认日志级别logging.level.包的全路径=日志级别,重叠会被覆盖。
4.某包下设置了日志级别之后,在该包下的日志信息也只能打印该日志级别一样或比该日志级别大的日志信息。如全局设置了日志级别为warn,那么就打印不出比warn低的日志级别的日志,默认是warn。
5.日志也可以打印至指定路径下的某文件,如果不指定名字默认为spring.log,可以用logging.file.name=路径名 , 路径名可以是绝对路径,相对路径,也可以带文件名字。
实例化日志: 用日志工厂创建日志示例
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
Logger logger = LoggerFactory.getLogger(类名.class);
根据上述创建的实例,调用不同的日志等级即可。如:
logger.trace("trace");
logger.info("info");
logger.debug("debug");
logger.warn("warn");
logger.error("error");
五、日志示例
在浏览器输入http://localhost:8080/logging打印所有级别的日志。将日志打印至D:tmpmy.log
项目结构:
添加配置文件application.yml:
SpringBoot会自动配置该文件
logging:
level:
root: info #将全局设为info
com:
my:
controller: warn #将com.my.controller包下的日志设为warn
org:
springframework: warn #避免干扰将Spring的设为warn
file:
name: D:\tmp\my.log
创建控制类LoggingController:
package com.my.controller;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class LoggingController {
Logger logger = LoggerFactory.getLogger(LoggingController.class);
@RequestMapping("/logging")
public void logging(){
logger.trace("trace");
logger.info("info");
logger.debug("debug");
logger.warn("warn");
logger.error("error");
}
}
创建SpringBoot启动类Application:
package com.my;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class,args);
}
}
运行Application类:
在浏览器输入http://localhost:8080/logging回车,然后查看控制台:
出现了目标日志信息:
前往设置存放的日志位置:
SpringBoot官网链接:Logging
上述用到的是slf4j日志,参考官网链接 :slf4j



