【Springboot中的日志】
1、市面上的日志框架:JUL、JCL、jboss-logging、logback、log4j、log4j2、slf4j……
2、
日志门面(日志的抽象层) |
日志实现 |
JCL(Jckarta Commons Logging) SLF4j(Simple Logging Facade for java) jboss-logging |
Log4j JUL(java.util.logging) Log4j2 Logback |
2、其他日志框架统一
如何让系统中所有的日志都统一到slf4j?
答:1)将系统中其他日志框架先排除出去
2)用中间包来替换原有的日志框架
3)导入slf4j其他的实现
4、springboot中的日志关系
总结:
1)Sringboot底层也是使用Slf4j+logback的方式进行日志记录
2)Sringboot也把其他的日志都替换成了Slf4j
3)中间转换包:
4)如果我们要引用其他框架?一定要把这个框架的默认日志依赖移除掉。
spring框架用的是commons-logging
SpringBoot能自动适配所有的日志,而且底层使用的slf4j+logback的方式记录日志,引入其他框架的时候,只需要把这个框架依赖的日志框架排除掉;
5、日志使用
//记录器
Logger logger = LoggerFactory.getLogger(getClass());
//日志的级别:
由低到高:trace<debug<info<warn<error
//可以调整日志的输出级别:日志就只会在这个级别以后的高级别生效
Logger.trace(“这是trace日志……”)
Logger.debug(“这是bebug日志……”)
//springboot默认给我们使用的是info级别的,没有指定级别的就用SpringBoot默认规定的级别:root级别
Logger.info(“这是info日志……”)
Logger.warn(“这是warn日志……”)
Logger.error(“这是error日志……”)
6、在配置文件application..properties中修改springboot的默认配置:
7、指定配置
给类路径下放上每个日志框架自己的配置文件即可,springboot就不适用他默认的配置了
Logback.xml:直接就被日志框架识别了
Logback-spring.xml:日志框架就不直接加载日志的配置项,由springboot解析日志配置,可以使用springboot的高级profile功能
8、切换日志框架
可以按照slf4j的日适配图,进行转换
例1:转化为log4j2:
例2:转换为log4j: