Skip to content

3.0.0-beta2

Compare
Choose a tag to compare
@ppkarwasz ppkarwasz released this 21 Feb 09:32
· 597 commits to main since this release
086db24

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 in log4j-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 new log4j-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 with log4j-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 remove log4j-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 using java.util.Format only if they don't comply to the java.text.MessageFormat or ParameterizedMessage 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 and log4j-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 version 2.16.1 (#2127)
  • Update commons-codec:commons-codec to version 1.16.1 (#2276)
  • Update io.netty:netty-bom to version 4.1.107.Final (#2283)
  • Update org.apache.logging:logging-parent to version 10.6.0 (#2193)
  • Update org.apache.tomcat:tomcat-juli to version 10.1.18 (#2176)
  • Update org.eclipse.jetty:jetty-bom to version 9.4.54.v20240208 (#2285)
  • Update org.jctools:jctools-core to version 4.0.3 (#2267)
  • Update org.slf4j:slf4j-api to version 2.0.10 (#2136)
  • Update org.springframework.boot:spring-boot-autoconfigure to version 3.2.2 (#2222)
  • Update org.springframework.cloud:spring-cloud-context to version 4.1.1 (#2236)
  • Update org.springframework:spring-framework-bom to version 6.1.4 (#2294)