1.日志框架介绍
1.1 JUL、JCL、Jboss-logging、logback、log4j、log4j2、slf4j...
2.slf4j官网: https://www.slf4j.org
2.1 日志记录方法的调用,不应该直接调用日志的实现类,而是调用日志抽象层里面的方法,导入slf4j和logback的jar
3.系统开发中如何将不同框架统一使用slf4j日志记录?
3.1 例如各框架自己的日志jar Spring(commons-logging)、Hibernate(jboss-logging)、
3.2 统一使用slf4j 操作流程图片
3.3 第一步 将系统中其他框架的日志先排除。
3.4 第二步 使用中间包替换原有的框架日志.
3.5 第三步 导入slf4j其他的实现。
4.扩展 -springboot的日志关系
4.1springboot 使用它来做日志功能
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring‐boot‐starter‐logging</artifactId> </dependency> 4.2 底层依赖关系 4.3 springboot 底层使用slf4j和 logback的方式进行日志记录 4.4 springboot 吧其他的日志也替换成slf4j @SuppressWarnings("rawtypes") public abstract class LogFactory { static String UNSUPPORTED_OPERATION_IN_JCL_OVER_SLF4J = "http://www.slf4j.org/codes.html#unsupported_operation_in_jcl_over_slf4j"; static LogFactory logFactory = new SLF4JLogFactory();
5. 如果我们引入了其他框架,需要把这个框架的默认日志依赖剔除掉吗?
5.1 Spring框架用的是commons-logging;
<dependency> <groupId>org.springframework</groupId> <artifactId>spring‐core</artifactId> <exclusions> <exclusion> <groupId>commons‐logging</groupId> <artifactId>commons‐logging</artifactId> </exclusion> </exclusions> </dependency> 5.2 SpringBoot能自动适配所有的日志,而且底层使用slf4j+logback的方式记录日志,引入其他框架的时候,只需要 把这个框架依赖的日志框架排除掉即可;