Java 日志体系总览

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/jiangchao858/article/details/80517744

摘要: Java的日志系统,对于项目的运行状态监控和行为分析有着至关重要的作用,很难想象没有任何日志记录功能的应用程序被运行于生产环境中。目前的Java日志收集有非常多的日志框架,如果能了解它们之间的联系与区别,在使用时方能得心应手。

纷繁复杂的 jar 包

  • log4j、log4j-api、log4j-core
  • log4j-1.2-api、log4j-jcl、log4j-slf4j-impl、log4j-jul
  • logback-core、logback-classic、logback-access
  • commons-logging
  • slf4j-api、slf4j-log4j12、slf4j-simple、jcl-over-slf4j、slf4j-jdk14、log4j-over-slf4j、slf4j-jcl

接口&实现

在实际项目中,经常见到这些jar包,它们可以分为两个派别:日志框架(slf4j、apache commons logging)+日志系统(log4j、log4j2、LogBack、JUL等)。这里的日志框架提供日志调用的接口,实际的日志输出托付给日志系统实现。

日志框架

  1. JCL(Jakarta Commons Logging):比較流行的日志框架,非常多框架都依赖JCL,比如Spring等。
  2. SLF4j:提供新的API,初衷是配合Logback使用,但同一时候兼容Log4j。

日志系统

  1. Log4j:经典的一种日志解决方式。内部把日志系统抽象封装成Logger 、appender 、pattern 等实现。
  2. Log4j2:Log4j的2.0版本号。对Log4j进行了优化。例如支持參数API、支持异步appender、插件式架构等。
  3. Logback:Log4j的替代产品。须要配合日志框架SLF4j使用。
  4. JUL(java.util.logging):是 Java 内置的日志模块,只能满足基本的日志需要。

猜你喜欢

转载自blog.csdn.net/jiangchao858/article/details/80517744
今日推荐