3.0.0-beta2
ppkarwasz
released this
21 Feb 09:32
·
600 commits
to main
since this release
This release provides a continuation of the modularization process of Log4j Core.
The following features were moved to separate artifacts:
- The async logger feature was moved to
log4j-async-logger
and it was upgraded to use LMAX Disruptor 4.x. The async appender is still available by default inlog4j-core
. - The YAML configuration is available now in
log4j-config-yaml
. - The Java properties configuration was removed and replaced with a similar format based on
jackson-dataformat-properties
in a newlog4j-config-properties
artifact.
Other features were removed:
- Jetty 9.x users are encouraged to migrate to Jetty 10.x or later and replace
log4j-appserver
withlog4j-slf4j2-impl
. - Tomcat JULI support will be available from a third-party (cf. copernik-eu/log4j-plugins).
- Apache Commons Logging users are encouraged to upgrade
commons-logging
to version 1.3.0 or later and removelog4j-jcl
. - Support for the XML layout was dropped.
- Support for JMX was dropped and will be replaced with a more recenttechnology.
Added
- Add and update DSLs for setting up dependency injection for test and non-test code. (#2147)
- Add a
ConfigurationExtension
mechanism to allow third-party JARs to extend the<Configuration>
element. - Add a new properties configuration factory based on
jackson-dataformat-properties
.
Changed
- Change the order of evaluation of
FormattedMessage
formatters. Messages are evaluated usingjava.util.Format
only if they don't comply to thejava.text.MessageFormat
orParameterizedMessage
format. (#1223) - Split off async logger support into a new
log4j-async-logger
module. - Split off YAML configuration into a new
log4j-config-yaml
module.
Fixed
- Rewrote message parameter formatter with improved escape handling (#1626)
- The MongoDb4 appender now supports long values to configure
collectionSize
(#1747) - Mark
JdkMapAdapterStringMap
as frozen if map is immutable. (#2098) - Fix regression in
JdkMapAdapterStringMap
performance. (#2238) - Prevents ClassCastException when trying to assign a SimpleLoggerContext to a core LoggerContext (LOG4J2-1921)
- Possible NullPointerException in MongoDb4DocumentObject, MongoDbDocumentObject, DefaultNoSqlObject. (LOG4J2-3392)
- Fix NPE in
CloseableThreadContext
. (#1426) - Fix NPE in
RollingFileManager
. (#1645) - Fix
log4j-spring-cloud-config-client
dependencies to include only those required. (2157) - Workaround a Coursier/Ivy dependency resolution bug affecting
log4j-slf4j-impl
andlog4j-mongodb3
. (#2065)
Removed
- Removed legacy
2.x
properties configuration factory. - Removed
DefaultLogEventFactory
- Removed
log4j-appserver
module (#2257) - Removed
org.apache.logging.log4j.core.parser
and related packages. (#2154) - Removed
log4j-jcl
module (#2257) - Removed JMX support.
- Remove
log4j-layout-jackson
module (#2198) - Remove
log4j-layout-jackson-xml
module (#2198) - Remove
log4j2.enable.threadlocals
property (#2105)
Updated
- Update
com.fasterxml.jackson:jackson-bom
to version2.16.1
(#2127) - Update
commons-codec:commons-codec
to version1.16.1
(#2276) - Update
io.netty:netty-bom
to version4.1.107.Final
(#2283) - Update
org.apache.logging:logging-parent
to version10.6.0
(#2193) - Update
org.apache.tomcat:tomcat-juli
to version10.1.18
(#2176) - Update
org.eclipse.jetty:jetty-bom
to version9.4.54.v20240208
(#2285) - Update
org.jctools:jctools-core
to version4.0.3
(#2267) - Update
org.slf4j:slf4j-api
to version2.0.10
(#2136) - Update
org.springframework.boot:spring-boot-autoconfigure
to version3.2.2
(#2222) - Update
org.springframework.cloud:spring-cloud-context
to version4.1.1
(#2236) - Update
org.springframework:spring-framework-bom
to version6.1.4
(#2294)