SpringBoot开发【日志】日志框架分类和选择

1,027 阅读2分钟

「这是我参与2022首次更文挑战的第15天,活动详情查看:2022首次更文挑战」。

日志框架

概念:Java日志工具是Java项目中经常用到的工具,Java日志框架标准化了使用Java日志工具的流程 组成:Java日志框架由3部分组成,分别是Logger,Formatter,Appender。有些简单的Java日志框架可能没有这3部分,比如由Object Guy实现的Java日志框架,它将Logger和Appender合并在一起,那么它只有2部分。 Logger:接收日志内容,每个Logger实例都具有名字,在一定level上记录日志 Formatter:格式化日志内容 Appender:将日志内容输出到Console,socket,文件,数据库,邮件等

市面上的日志框架:JUL、JCL、Jboss-logging、logback、log4j、log4j2、slf4j......

日志框架选择

日志门面(日志的抽象层)日志实现
JCL(Jakarta Commons Logging )SLF4j(Simple Logging Facade for java)jboss-loggingLog4j JUL(java.until.logging) Log4j2 Logback

上面划横线的我们不选用,有不更新的,有不好用的额,具体原因不再多说 左边选一个门面(抽象层),右边来选一个实现 日志门面:SLF4j 日志实现:Logback 我们说一下SpringBoot的选择 SpringBoot:底层是spring框架,spring框架默认是用JCL,但是SpringBoot选用的SLF4j和logback

如何在系统中使用SLF4j

日志记录方法的调用,不应该来直接调用日志的实现类,而是调用日志抽象层里面的方法 我们先看一下SLF4j的官方文档,有一个用户使用手册 文档里面有个示例

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

public class HelloWorld {
  public static void main(String[] args) {
    Logger logger = LoggerFactory.getLogger(HelloWorld.class);
    logger.info("Hello World");
  }
}

给系统里面导入slf4j的jar和logback的实现的jar即可

使用logback的话直接导入logback的jar即可,若使用其他的实现,需要导入一个用来适配其他实现的jar和真正实现的jar