关于SLF4j日志
在Spring Boot项目中,在spring-boot-starter
依赖项中,默认已经集成了SLF4j日志框架。
在添加了Lombok
依赖项后,可以在需要输出日志的类上添加@Slf4j
注解,则Lombok框架会在编译期自动添加名为log
的日志变量。
日志的显示级别,根据日志信息内容的重要程度,从低到高依次为:
trace
:跟踪信息debug
:调试信息info
:一般信息warn
:警告信息error
:错误信息
在SLF4j中,调用log
变量时,有以上5种级别对应的方法,调用与日志显示级别对应的方法,则输出的日志就是对应的级别,例如调用log.debug()
时,输出的日志就是DEBUG级别的日志,调用log.warn()
时,输出的日志就是WARN级别的日志。
在Spring Boot项目中,默认的显示级别是info
,相比info
较低级别的日志不会被输出!
在Spring Boot项目中,可以在application.properties
中通过logging.level.包名
属性来设置日志的显示级别:
# 日志的显示级别
logging.level.cn.tedu.csmall=trace
关于以上配置:
- 包名部分,必须至少写1级包名,例如
logging.level.cn
,如果没有包名,则是错误的 - 配置的包名是”根包“,所以子孙包及其下的所有类的日志都会是以上配置的级别
- 如果认为有必要的话,甚至可以配置到具体的类
使用日志的好处:
- 可以通过简单的配置,实现控制日志的显示级别,所以,可以使得某些日志仅开发时能输出,在生产环境中不会输出
- 使用日志时,可以使用常量字符串,输出结果中的变量值均在此常量字符串中使用占位符表示即可,所以,字符串的处理效率非常高,并且,代码简洁