重生之 SpringBoot3 入门保姆级学习(10、日志基础使用)  3.1 日志基础 3.2 使用日志 3.2.1 基础使用 3.2.2 调整日志级别 3.2.3 带参数的日志   
 
SpringBoot 默认使用 SLF4j(Simple Logging Facade for Java)和 Logback 实现日志,默认日志级别是 INFO  日志级别有 ALL  打印所有日志TRACE  追踪框架详细流程日志,一般不用DEBUG  开发者调试日志INFO  关键、感兴趣的日志WARN  警告但不是错误信息的日志,比如:版本过时ERROR  业务错误日志,比如:出现各种异常FATAL  致命日志错误,比如:jvm 系统崩溃OFF  关闭所有日志 
 
SpringBoot 默认日志输出格式 外部库 -> Maven: org.springframework.boot:spring-boot:3.2.5 -> META-INF -> additional-spring-configuration-metadata.json  %clr(%d{${LOG_DATEFORMAT_PATTERN:-yyyy-MM-dd'T'HH:mm:ss.SSSXXX}}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}
 
通过 application.properties 修改日志输出格式 logging.pattern.console=%d{yyyy-MM-dd HH:mm:SS} %-5level [%thread] %logger{15} ===> %msg%n
 
 
logging.pattern.dateformat=yyyy-MM-dd HH:mm:ss.SSS
编写 Controller 层 HelloController package  com. zhong. logging. controller ; 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  { Logger  logger =  LoggerFactory . getLogger ( getClass ( ) ) ; @GetMapping ( "/h" ) public  String  Hello ( )  { logger. info ( "哈哈哈,方法进来了。" ) ; return  "hello" ; } 
} package  com. zhong. logging. controller ; import  lombok. extern. slf4j.  Slf4j ; 
import  org. springframework. web. bind. annotation.  GetMapping ; 
import  org. springframework. web. bind. annotation.  RestController ; 
@Slf4j 	
@RestController 
public  class  HelloController  { @GetMapping ( "/h" ) public  String  Hello ( )  { 
log. info ( "哈哈哈,方法进来了。" ) ; return  "hello" ; } 
} http://localhost:8080/h
 
 
 
# 调整该项目的所有日志级别
logging.level.root = debug
# 调整该类下的所有日志级别
logging.level.com.zhong.logging.controller.HelloController = info
 
package  com. zhong. logging. controller ; import  lombok. extern. slf4j.  Slf4j ; 
import  org. springframework. web. bind. annotation.  GetMapping ; 
import  org. springframework. web. bind. annotation.  RestController ; 
@Slf4j 
@RestController 
public  class  HelloController  { @GetMapping ( "/h" ) public  String  Hello ( String  a,  String  b)  { log. info ( "哈哈哈,方法进来了。参数: {} {}" ,  a,  b) ; 	return  "hello" ; } 
} 
http://localhost:8080/h
 
 
http://localhost:8080/h?a=10&b=20