Log4j 2.3 发布了,Log4j是Apache的一个开放源代码项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台、文件、GUI组件、甚至是套接口服务 器、NT的事件记录器、UNIX Syslog守护进程等;我们也可以控制每一条日志的输出格式;通过定义每一条日志信息的级别,我们能够更加细致地控制日志的生成过程。最令人感兴趣的就 是,这些可以通过一个配置文件来灵活地进行配置,而不需要修改应用的代码。
该版本改进内容包括:
New features:
o LOG4J2-984: PatternLayout %highlight to support noConsoleNoAnsi like %style. Thanks to
Jonas Höpfner.
o LOG4J2-926: Truncate from the end of text format modifier. Thanks to David Ohana.
Fixed Bugs:
o LOG4J2-1009: Incorrectly defined compressionType parameter to GelfLayout. Thanks to Mikael
Ståldal.
o LOG4J2-1008: org.apache.logging.log4j.core.config.plugins.util.ResolverUtil.extractPath(URL)
incorrectly converts ‘+’ characters to spaces. Thanks to Ralph Goers, Gary Gregory.
o LOG4J2-1007: org.apache.logging.log4j.core.util#fileFromUri(URI uri) incorrectly converts
‘+’ characters to spaces. Thanks to Ralph Goers, Gary Gregory.
o LOG4J2-1003: JUL Logger.throwing is mis-mapped to ERROR when it should be TRACE. Thanks
to Dan Armbrust.
o LOG4J2-965: System.out no longer works after the Console appender and JANSI are initialized.
Thanks to Khotyn Huang.
o LOG4J2-993: Deadlock would occur if appender thread creates a new Logger during reconfiguration.
o LOG4J2-991: Async root logger config should default includeLocation to false. Thanks to
Ryan Rupp.
o LOG4J2-985: AbstractFilter should not implement equals() and hashCode(). Thanks to Sean
Dawson.
o LOG4J2-980: Numerical overflow in BurstFilter not handled correctly. Thanks to Mikhail
Mazurskiy.
o LOG4J2-981: Incorrect unlock in ProviderUtil. Thanks to Mikhail Mazurskiy.
o LOG4J2-966: KeyStoreConfiguration.createKeyStoreConfiguration() ignores keyManagerFactoryAlgorithm.
Thanks to Gary Gregory.
o LOG4J2-976: Using monitorInterval with YAML config file format causes JSONParseException.
Thanks to Matt Quinn.
o LOG4J2-964: StringFormattedMessage serialization is incorrect. Thanks to Jonne Jyrylä.
o LOG4J2-947: A new StatusLoggerAdmin listener is added to StatusLogger every time the log
is reconfigured. Thanks to Stefan Wehner.
o LOG4J2-968: SyslogLayout contains extra space. Thanks to Paul D Johe.
o LOG4J2-967: log4j2.component.properties not read for all properties. Thanks to Stefan Wehner.
o LOG4J2-971: Another bad priority in Syslog messages. Thanks to Paul D Johe.
o LOG4J2-972: org.apache.logging.log4j.core.net.ssl.TlsSyslogInputStreamReader does not need
to create temp Integer objects. Thanks to Gary Gregory.
o LOG4J2-974: Typo in EventLogger documentation. Thanks to Daniel Galán y Martins.
Changes:
o LOG4J2-998: Make org.apache.logging.log4j.core.Logger#updateConfiguration protected. Thanks
to Mariano Gonzalez.
o LOG4J2-995: Move UTF-8 constant from Charsets to Constants class. Remove Charsets class.
o LOG4J2-988: Update LMAX Disruptor from 3.3.0 to 3.3.2. Thanks to Gary Gregory.
o LOG4J2-987: Migrate tests from Logback 1.1.2 to 1.1.3. Thanks to Gary Gregory.
o LOG4J2-988: Update tests to use ActiveMQ from 5.10 to 5.11.1. Thanks to Gary Gregory.
o LOG4J2-1004: Update Jackson from 2.5.1 to 2.5.3.
o LOG4J2-1005: Update Slf4j from 1.7.7 to 1.7.12.