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

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

 

 

 

 

    

posted @ 2021-03-04 17:30  gulin168  阅读(505)  评论(0)    收藏  举报