slf4j log4j logback 关系 - alvinlkk的个人空间

简介: slf4j log4j logback 关系 - alvinlkk的个人空间

什么是slf4j


全称,Simple Logging Facade for Java, 官网如下解释:

The Simple Logging Facade for Java (SLF4J) serves as a simple facade or abstraction for various logging frameworks (e.g. java.util.logging, logback, log4j) allowing the end user to plug in the desired logging framework at deployment time. 也就是说,             slf4j为简单的日志门面,是日志框架的抽象, 而log4j和logback是众多日志框架中的几种。 如果不添加log4j, logback, 只引入slf4j, 如何?

<dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-api</artifactId>
      <version>1.7.25</version>
    </dependency>
复制代码
public class App {
    public static void main( String[] args )
    {
        Logger logger = LoggerFactory.getLogger(App.class);
        logger.debug("hello world {}", "111");
    }
}
复制代码

1671088759621.jpg

从运行结果看到,由于没有给出具体的logger实现,无法在控制台输出日志。也就是说我们在具体开发中,需要绑定一个日志框架,才能正常的使用slf4j。


log4j 和 logback


log4j和logback就是两个受欢迎的日志框架。但两者又有不同。

  • log4j是apache实现的一个开源日志组件。
  • logback同样是由log4j的作者设计完成的,拥有更好的特性,用来取代log4j的一个日志框架。是slf4j的原生实现。
    1671088773086.jpg
    上图可以看到应用程序对日志框架的调用关系。应用程序调用slf4j             api,而日志的输出最终是由底层的日志框架来实现的。这张图也提现了log4j和logback的不同。

总结:

  1. slf4j是java的一个日志门面,实现了日志框架一些通用的api,log4j和logback是具体的日志框架。
  2. 他们可以单独的使用,也可以绑定slf4j一起使用。单独使用。分别调用框架自己的方法来输出日志信息。 绑定slf4j一起使用。调用slf4j的api来输入日志信息,具体使用与底层日志框架无关(需要底层框架的配置文件)。 具体查看www.importnew.com/7450.html


如果项目同时引入log4j, logback


如果项目同时引入log4j, logback 会提示如下警告信息: 1671088787198.jpg

经实践发现,slf4j 会优先加载pom中先引入的那个日志模块。

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
6天前
|
XML Java 数据格式
【二十九】springboot整合logback实现日志管理
【二十九】springboot整合logback实现日志管理
154 1
|
6天前
|
Java Spring
【Spring Boot】logback和log4j日志异常处理
【1月更文挑战第25天】【Spring Boot】logback和log4j日志异常处理
|
5月前
|
XML JSON 监控
浅谈logback日志架构
浅谈logback日志架构
92 0
|
6月前
|
Java
logback为日志配置颜色
logback为日志配置颜色
|
6月前
|
XML 监控 Java
JAVA日志技术 & Logback
为什么需要记录日志?我们不可能实时的24小时对系统进行人工监控,那么如果程序出现异常错误时要如何排查呢?并且系统在运行时做了哪些事情我们又从何得知呢?这个时候日志这个概念就出现了,日志的出现对系统监控和异常分析起着至关重要的作用。......
46 0
|
7月前
|
Java
解决logback不能打印日志的问题
解决logback不能打印日志的问题
286 0
|
6天前
|
SQL druid Java
springboot +logback+阿里数据源(druid)打印sql日志以及简化日志输出方式
springboot +logback+阿里数据源(druid)打印sql日志以及简化日志输出方式
443 0
|
6天前
|
前端开发 Java
日志框架:基于Logback实现链路追踪
日志框架:基于Logback实现链路追踪
|
6天前
|
运维 监控 前端开发
[SpringAop + Logback +MDC] 现网必备全链路日志追踪
[SpringAop + Logback +MDC] 现网必备全链路日志追踪
|
6天前
|
Java Spring
日志之旅:深入Spring整合Logback的高效日志管理
日志之旅:深入Spring整合Logback的高效日志管理
23 2

热门文章

最新文章