常见日志框架介绍及Spring日志框架优先级源码解析
在Java项目开发中,日志是必不可少的功能,日志对于快速定位问题,检查日常项目运行状态等有非常重要的作用,但是目前Java日志存在多种框架,如:Slf4j、JUL、JCL、Log4j、Log4j2、Logback等。 1. 常用日志框架 框架 简介 Slf4j 日志门面组件 JCL Commons Logging,简称jcl,Apache基金会项目,日志门面组件 Log4j Apache基金会项目,日志实现框架 Log4j 2 是Log4j的升级产品,但是与Log4j不兼容 Logback 日志实现框架 JUL java官方的日志实现框架 Java中可用的日志框架有很多,这样就导致一个选择困难问题,到底应该用哪一个框架,如果项目修改日志组件或者升级又该如何做。其实一般都会选择使用外观模式:日志门面组件+桥接器+日志实现框架,这样即使项目更换日志种类,只需更换桥接器和日志实现框架,也就是只更换Jar包就可以了,代码无需做任何改动。下图表示了日志门面组件、桥接器、日志时间框架之间的关系: 图上列举出了多种日志实现框架转换成Slf4j接口和Slf4j接口绑定多种日志实现框架所涉及到的相关Jar包。通过这些桥接包,我们可以轻松实现项目中日志框架的统一。对于哪些包需要引入/哪些包需要排除也就一目了然了。 2.SLF4J 简介 SLF4J 是一个简单易用的日志门面组件