美文网首页开发
logback、log4j、slf4j三者区别

logback、log4j、slf4j三者区别

作者: Geroge1226 | 来源:发表于2021-08-30 13:24 被阅读0次

    1、整体介绍

    • slf4j(Simple logging Facade for Java) 简单日志门面,日志系统的实现进行了具体的抽象化,只提供了统一的日志使用接口,没有任何日志实现,只有一个jar包(slf4j-api.jar)。
    • log4jlogback是具体的日志框架。这两个日志框是同一个作者开发,后者性能更高。
      logbak直接实现slf4j接口,性能更高

    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启动默认配置,配置会将日志输出控制台上不会写进日志文件,它提供了默认的最基础的日志功能。

    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包

    相关文章

      网友评论

        本文标题:logback、log4j、slf4j三者区别

        本文链接:https://www.haomeiwen.com/subject/ylzxpltx.html