首页 > 代码库 > log4j2简介

log4j2简介

前言

在介绍log4j2之前先简单介绍一下Log4j、Logback、SFL4J、JUL、JCL这些东西是什么以及有啥作用。

Log4j是什么地球人应该都知道。log4j是Log for Java的简称,是Apache的一个开源子项目,有7种不同的日志级别,从低到高一次为TRACE<DEBUG<INFO<WARN<ERROR<FATAL<OFF,支持properties和xml两种配置文件,包含Logger、appender、Layout三个主要组件。

SFL4J是Simple Logging Facade for Java的简称,不是具体的日志解决方案,它只服务于各种各样的日志系统,类似于JDBC。主要应用于库类应用或者嵌入式组件。

Logback和Log4j非常相似,但是有很多改进,有更快的速度更低的内存消耗,某些场景速度比log4j有10背的提升,另外logback实现了sel4jAPI使可以很方便的更换成其他系统。

以上三者的作者都是Ceki Gülcü。

JUL是java.util.logging的简称,是Java自己提供的日志框架,类似于Log4J,但是API并不完善,对开发者不是很友好,而且对于日志的级别分类也不是很清晰。

JCL是Jakarta Commons-Logging的简称。JCL和SLF4J非常类似,也是提供的一套API来掩盖了真正的Logger实现。便于不同的Logger的实现的替换,而不需要重新编译代码。缺点在于它的查找Logger的实现者的算法比较复杂,而且当出现了一些class loader之类的异常时,无法去修复它。


正文