首页 > 其他分享 >logback、log4j、slf4j三者区别

logback、log4j、slf4j三者区别

时间:2022-08-19 12:28:30浏览次数:89  
标签:xml slf4j lombok logback log4j 日志

作为开发运维人员,对于服务器,日志这些内容想必都不陌生吧

1、整体介绍

  • slf4j(Simple logging Facade for Java) 简单日志门面,日志系统的实现进行了具体的抽象化,只提供了统一的日志使用接口,没有任何日志实现,只有一个jar包(slf4j-api.jar)。

  • log4j
    

    logback
    

    是具体的日志框架。这两个日志框是同一个作者开发,后者性能更高。

    logbak直接实现slf4j接口,性能更高

    img

2、springboot集成日志说明

springboot默认日子框架为logback

<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-logging</artifactId>
2.2 springboot项目加载日志配置步骤:

(1)LogBack在类路径下优先查找logback.groovy的文件。如果logback.groovy没有找到,则继续查找logback-test.xml文件。
(2)若logback-test.xml文件没有找到,则会类路径下查找logback.xml文件。
(3) 如果没有任何配置文件,LogBack使用BasicConfigurator启动默认配置,配置会将日志输出控制台上不会写进日志文件,它提供了默认的最基础的日志功能。

img

3、logback的介绍

logback是由log4j创始人设计的另一个开源日志组件。
官方网站: http://logback.qos.ch

3.1 logback 模块
  • logback-core:其它两个模块的基础模块
  • logback-classic:它是log4j的一个改良版本,同时它完整实现了slf4j API使你可以很方便地更换成其它日志系统如log4j或JDK14 Logging
  • logback-access:访问模块与Servlet容器集成提供通过Http来访问日志的功能
3.2 日志级别

共有:trace、debug、info、warn、error 5个级别。
排序为: TRACE < DEBUG < INFO < WARN < ERROR。

4、 lombok中增加了@Slf4j注解

项目中我们通过lombok提供的注解引入slf4j如下:

import lombok.extern.slf4j.Slf4j;
@Slf4j
public class EmailServiceImpl {
    public static void main(String[] args) {
        log.info("test");
    }
}

5、其他日志框架

  • jdk中自带log
    jdk在1.4时也增加了自己的log日志,java.util.logging包

标签:xml,slf4j,lombok,logback,log4j,日志
From: https://www.cnblogs.com/htx666/p/16601573.html

相关文章

  • log4j漏洞原理复现
    环境搭建https://github.com/tangxiaofeng7/CVE-2021-44228-Apache-Log4j-Rce直接用idea打开,build即可然后运行即可,成功触发漏洞漏洞跟踪跟踪漏洞触发函数发现接口......
  • SpringBoot使用Log4J2
    一、常用日志框架Log4j:Apache的一个开源项目,可以控制日志信息输送的目的地是控制台、文件、GUI组件等,可以控制每一条日志的输出格式,这些可以通过一个配置文件来灵活地进......
  • mybatis-日志(log4j)
    ###日志####1、日志:如果数据库操作出现异常,需要拍错。日志就是最好的助手。以前soutdebug现在日志<setting>配置|logImpl|指定MyBatis所用日志的具体实现,......
  • IDEA中创建的Mybatis项目使用LOG4J生成的log日志文件无法打开的问题
    最近跟着狂神老师学习Mybatis,当我把我的日志配置文件都弄好之后,发现老师能正常打开定义的日志文件,而我的就是显示一个带问号的文件,  网上看了好多博客,发现原来是因为......
  • SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder"&&SLF4J: Defaulti
    最近刚搭建的一个项目,启动日志没有输出,报下面的错误,虽然能大概知道是少了日志实现包,但是具体那个还不确定。https://www.slf4j.org/codes.html#StaticLoggerBinder  在......