SLF4j使用

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 操作流程图片

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 底层依赖关系             SLF4j使用        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();  SLF4j使用

 

 

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的方式记录日志,引入其他框架的时候,只需要 把这个框架依赖的日志框架排除掉即可;       

 

 

 

 

    

上一篇:Web题 writeup (持续更新)


下一篇:导入BeanUtils jar包时发生java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory错误 解决方法