log4j2中文手册
Log4j2使用手册一.Log4j2介绍Log4j1.x 被广泛应用于应用程序,但是近年发展明显放缓,因为要维持较老java版本的使用,使得log4j1.x 的发展更困难。而作为其代替品, slf4j
Log4j2使用手册 一.Log4j2介绍 Log4j1.x被广泛应用于应用程序,但是近年发展明显放缓,因为要维持较老java版本的使用,使得log4j1.x的 发展更困难。而作为其代替品,slf4j/logback做出了许多必要改进,为什么还需要log4j2?主要有以下几个原 因: (1) Log4j2被设计用作审计日志框架,log4j和logback在重载配置时,都会丢失日志时间,而log4j2不会。 Logback中appenders中的异常对于应用来说是不可见的,log4j2可以配置异常向应用渗透。 (2) LMAXDisruptorlibrary Log4j2包含基于的下一代无锁AsynchronousLoggers,在多线程环境下, AsynchronousLoggers相比slf4j/logback提高了10倍以上的吞吐量,并且有着更低的延时。 (3) Log4j2的插件机制,使得在不需要修改框架的情况下,通过添加Appenders,Filters,Layouts,Lookups 轻松扩展框架。 (4) 简单的插件配置,无需指定具体类名即可在configuration中配置插件。 (5) 支持自定义日志级别,可以在代码或者configuration中自定义日志级别。 (6) 支持lambda表达式,java8的应用可以在请求日志级别启用时使用lambda表达式懒构建一个日志消息,不 需要显示的日志级别检查,使得代码更简洁。 (7) 支持消息对象,消息允许支持有趣和复杂的结构,传递到日志记录系统,并且可以高效的操作。用户可以自由 创建消息类型和编写Layouts,FiltersandLookups来操作这些消息。 (8) AppendersFilterslogbackTurboFilters Log4j1在 上支持。增加了,允许在日志事件在处理前进行过滤。 Log4j2FiltersLoggerAppender 可以配置在后者前运行。 (9) LogbackAppendersLayoutlog4j2 许多的不接受,并且只能按照固定格式发送日志数据。大部分接收 Layout 配置,允许日志数据按照任何所需格式传输。 (10) Log4j1logbackLayoutsStringLog4j2 与的是返回一个类型,这可能导致一些编码问题。使用了简单的方 byteLayoutsappenders 式:返回一个数组。这以为着可以用在几乎任何,而不仅仅是写入 OutputStream 。 (11) Syslogappender支持TCP与UDP,以及BSDsyslog和RFC5424格式。 (12) Log4j2得益于java5的并发支持,将锁的可能降到最低水平。Log4j1有已知的死锁问题,Logback也需要 使用synchronization来保持在相当高的锁级别。 (13) Apache开源 二.Log4j2架构 1. Log4j2类图

