记录日志真的有那么复杂,让人意想不到吗?

2026-04-18 01:530阅读0评论SEO资讯
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计684个文字,预计阅读时间需要3分钟。

记录日志真的有那么复杂,让人意想不到吗?

本节摘要总结于《Java业务开发常见+100%案例》——一些同学可能会说,记录日志还不够简单,无非就是几个常用的API方法,比如debug、info、warn、error,但其实日志远不止这些。

本文摘录总结于极客时间——《Java业务开发常见 100 例》

  一些同学可能就会说了,记录日志还不简单,无非就是几个常用的 API 方法,比如 debug、info、warn、error,但日志其实不只是这些,容易出错主要是三个方面:

  • 日志框架众多,不同的类库可能会使用不同的日志框架,如何兼容是一个问题;
  • 配置复杂且容易出错。日志配置文件通常很复杂,因此有些开发同学会从其他项目或者网络上复制一份配置文件,但却不知道如何修改,甚至胡乱修改,造成很多问题;
  • 日志记录本身就有误区,比如没考虑到日志内容获取的代价、胡乱使用日志级别等。

  Logback、Log4j、Log4j2、commons-logging、JDK 自带的 java.util.logging 等,都是 Java 体系的日志框架,确实非常多。而不同的类库,还可能选择使用不同的日志框架。这样一来,日志的统一管理就变得非常困难。为了解决这个问题,就有了 SLF4J,如下图所示:

  SLF4J 实现了三种功能:

  • 一是提供了统一的日志门面 API,即图中紫色部分,实现了中立的日志记录 API。
  • 二是桥接功能,即图中蓝色部分,用来把各种日志框架的 API(图中绿色部分)桥接到 SLF4J API。
  • 三是适配功能,即图中红色部分,可以实现 SLF4J API 和实际日志框架(图中灰色部分)的绑定。
阅读全文

本文共计684个文字,预计阅读时间需要3分钟。

记录日志真的有那么复杂,让人意想不到吗?

本节摘要总结于《Java业务开发常见+100%案例》——一些同学可能会说,记录日志还不够简单,无非就是几个常用的API方法,比如debug、info、warn、error,但其实日志远不止这些。

本文摘录总结于极客时间——《Java业务开发常见 100 例》

  一些同学可能就会说了,记录日志还不简单,无非就是几个常用的 API 方法,比如 debug、info、warn、error,但日志其实不只是这些,容易出错主要是三个方面:

  • 日志框架众多,不同的类库可能会使用不同的日志框架,如何兼容是一个问题;
  • 配置复杂且容易出错。日志配置文件通常很复杂,因此有些开发同学会从其他项目或者网络上复制一份配置文件,但却不知道如何修改,甚至胡乱修改,造成很多问题;
  • 日志记录本身就有误区,比如没考虑到日志内容获取的代价、胡乱使用日志级别等。

  Logback、Log4j、Log4j2、commons-logging、JDK 自带的 java.util.logging 等,都是 Java 体系的日志框架,确实非常多。而不同的类库,还可能选择使用不同的日志框架。这样一来,日志的统一管理就变得非常困难。为了解决这个问题,就有了 SLF4J,如下图所示:

  SLF4J 实现了三种功能:

  • 一是提供了统一的日志门面 API,即图中紫色部分,实现了中立的日志记录 API。
  • 二是桥接功能,即图中蓝色部分,用来把各种日志框架的 API(图中绿色部分)桥接到 SLF4J API。
  • 三是适配功能,即图中红色部分,可以实现 SLF4J API 和实际日志框架(图中灰色部分)的绑定。
阅读全文