日志logging学习(1)

目录

一、统一的日志门面。(抽象层)

二、常用的日志框架。

三、使用日志。

四、统一日志实现。

如何让系统的所有日志统一到slf4j?


一、统一的日志门面。(抽象层)

  • 日志的抽象层(logging-abstract)。在项目中再引入具体日志实现即可完成日志操作。

二、常用的日志框架。

  1. JUL(Java Util Logging)。Java原生日志。适合小型应用。日志实现
  2. JCL(Jakarta/Apache Commons Logging)。通用日志API。(日志门面)
  3. Log4j。(日志实现
  4. Log4j2。(日志实现
  5. Logback。(日志实现
  6. SLF4J(Simple Logging Facade for Java)。提供日志功能的抽象层(门面框架)。

其中spring框架默认使用:JCL、spring-boot-starter-logging采用:slf4j+logback。

三、使用日志。

  • 开发时,日志记录方法的调用,直接调用日志抽象层的方法,会自动的调用所引入的日志实现类的日志记录方法。

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,还需要导入它对应支持它的实现类:如logback。不然会如官网所说的一样,调用日志记录的方法会输出null。


  • 每一个日志实现框架都有自己的配置文件。也就是如果使用slf4j后,配置文件还是做日志实现框架的配置文件。

四、统一日志实现。

  • 因为实际开发中,系统可能主要环境使用的slf4j+logback记录日志。但是还有其他集成框架也有自己的日志,如spring(commons-logging)、Hibernate (jboss-logging)、mybatis、xxx。
  • 想要做到统一,可以按照官网提供的思路去实现。Log4j Bridge


  • 当主要环境使用的slf4j+log4j记录日志。因为在log4j设计的时,还不知道slf4j,所以需要额外的适配层。其他的框架的日志使用对应的替代品即可统一。


  • 综合上诉所说,可以总结一下统一日志的操作步骤。
  • 如何让系统的所有日志统一到slf4j?
  1. 将系统的其他日志框架先排除。
  2. 使用中间包(适配的jar)替换原有的日志框架。
  3. 再导入对应slf4j的其他日志实现框架。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

岁岁岁平安

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值