java 日志框架简介

  • Log4j
    log4j :http://logging.apache.org/log4j/

    较早出现的比较成功的日志系统是Log4j。 Log4j开创的日志系统模型(Logger/Appender/Level)行之有效,并一直延用至今。

  • Apache-commons-logging
    apache-commons-logging :http://commons.apache.org/logging/
    这是目前最流行的一个日志框架,由Apache Jakarta社区提供。Spring框架、许多老应用都依赖于JCL。

  • java.util.logging
    java.util.logginghttp://download.oracle.com/javase/6/docs/technotes/guides/logging/overview.html
    JDK1.4是第一个自带日志系统的JDK,简称(JUL)。
    JUL并没有明显的优势来战胜Log4j,反而造成了标准的混乱 —— 采用不同日志系统的应用程序无法和谐共存。

  • SLF4J
    SLF4J(Simple logging facade for Java)它不是一个真正的日志实现,而是一个抽象层( abstraction layer),SLF4J使你的代码独立于任意一个特定的日志API。现在SLF4J正迅速成为Java世界的日志标准。

  • logback
    logback :http://logback.qos.ch/
    是较新的日志系统。
    它是Log4j的作者吸取多年的经验教训以后重新做出的一套系统。它的使用更方便,功能更强,而且性能也更高。
    Logback不能单独使用,必须配合日志框架SLF4J来使用。

  • Log4j2(https://logging.apache.org/log4j/2.x/)
    log4j2相对于log4j 1.x有了脱胎换骨的变化,其官网宣称的优势有多线程下10几倍于log4j 1.x和logback的高吞吐量、可配置的审计型日志、基于插件架构的各种灵活配置等。如果已经掌握log4j 1.x,使用log4j2还是非常简单的。

日志框架:JUL诞生以后,为了克服多种日志系统并存所带来的混乱,就出现了“日志框架”。日志框架本身不提供记录日志的功能,它只提供了日志调用的接口。日志框架依赖于实际的日志系统如Log4j或JUL来产生真实的日志。使用日志框架的好处是:应用的部署者可以决定使用哪一种日志系统(Log4j还是JUL),或者在多种日志系统之间切换,而不需要更改应用的代码。(SLF4j,Apache-commons-logging)

笔者目前使用的是Log4j2+SLF4j的组合

你可能感兴趣的:(java 日志框架简介)