log4j2简介

Apache Log4j
2

Apache Log4j
2凡是本着Log4j的升级换代,它比较她的先辈Log4j 1资了强烈的改良。在解决Logback的架中在的有些原有问题经常,提供了重重可用的改善。

特性

API分离

Log4j的API与落实分离,使应用程序开发人员清楚地了解,他们好应用什么类与办法来保管向前兼容性。这允许Log4j团队因同一种植兼容的章程安全地改进实现。

改进之性

Log4j
2富含了基于LMAX破坏者库的下一代异步日志记录器。在差不多丝程场景中,异步日志记录器的吞吐量比Log4j
1一旦高18加倍,并且数量级要低。Log4j 1.x和Logback。有关详细信息,请参考异步日志记录性能。否则,Log4j
2以阳优于Log4j 1。x,Logback java.util。日志记录,特别是在多线程应用程序中。更多信息要参见性能。

支撑再次多API

Log4j 2
API拿提供最好好的性能,Log4j 2吧Log4j
1.2、SLF4J、Commons日志记录和java.util提供了支撑。日志(7月)api。

 

避锁定

针对Log4j 2
API进行编码的应用程序总是可以选择以另外slf4j兼容的库作为它们的日记程序实现,使用log4jslf4j适配器。

 

自动还加载配置

暨Logback一样,Log4j
2可于改动后活动还加载它的安排。与Logback不同之是,在重新配置的状况下,它以不会见丢日志事件。

进步的过滤

以及Logback一样,Log4j
2支持基于上下文数据、标记、正则表达式和日志事件备受之其它零件进行过滤。在传递让日志记录器或透过appender之前,可以指定过滤用被所有事件。此外,过滤器还可跟日志记录器相关联。与Logback不同的凡,你可以在另情形下使用一个通用的过滤器类。

插件体系布局

Log4j使用插件模式来布局组件。因此,您不欲编制代码来创造及配置Appender、布局、模式转换器等等。Log4j自动识别插件并在布置引用它常利用她。

性能的支持

君得于布局中援性,Log4j将直调换其,或者Log4j将把它们传递让一个以动态解析其的底色组件。属性来自于配置文件被定义的价值、系统性能、环境变量、ThreadContext映射和波备受的数量。用户可以经过丰富自己之Lookup
Plugin来更为定制性提供者。

Java
8λ支持

在此之前,如果一个日记消息的构建成本非常高,那么在布局消息之前,您便会显式地检查请求的日记级别是否启用。在Java
8上运行的客户机代码可以从Log4j的lambda支持着收入。由于Log4j不见面指向一个lambda表达式进行评估,如果请的日志级别没有启用,那么下于少之代码就足以实现同的效能。

起定义日志级别

每当Log4j
2饱受,可以老轻地在代码或部署中定义自定义日志级别。不需子类化。

本子支持

在本子2.9.1遭受,Log4j支持Java 9,但是仍可于Java
7或8中工作。在此本被,log4j-api被起包也一个几近版本本jar,并且支持StackWalker和Process
api的采取。

在版本2.4中,Log4J需要Java 7。

Log4j版本2.3以及原始本子用Java 6。

 

支持特色

XML configuration、Properties configuration、JSON
configuration

CSV Layout、JSON Layout、XML Layout

Async Loggers

Kafka Appender、SMTP Appender、JMS Appender、JDBC
Appender、JPA Appender、NoSQL Appender with MongoDB provider 等

 

网站地图xml地图