logback、log4j、slf4j三者区别
2021-08-30 本文已影响0人
Geroge1226
1、整体介绍
-
slf4j
(Simple logging Facade for Java) 简单日志门面,日志系统的实现进行了具体的抽象化,只提供了统一的日志使用接口,没有任何日志实现,只有一个jar包(slf4j-api.jar)。 -
log4j
和logback
是具体的日志框架。这两个日志框是同一个作者开发,后者性能更高。
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包