This release terminates the modularization process of Log4j Core, by moving all the code that uses optional log4j-core
dependencies into new modules:
- Support for the JAnsi library has been removed since recent Windows OSes support ANSI escape sequences.
See ANSI styling on Windows for more details. - The
DisruptorBlockinQueue
queue factory has been moved to a newlog4j-conversant
artifact. - Support for advanced compression algorithms has been moved to a new
log4j-compress
artifact.
The Gzip and Zip formats are still supported out-of-the-box.
Separate lifecycle
- The Flume Appender releases will follow their own lifecycle.
- All the logging bridges from and to Log4j API have been removed from the Log4j Core 3.x release.
Please manage your dependencies withlog4j-bom
to always use the compatible version of the logging bridges.
Added
- Add
useFqdn
configuration attribute to RFC5424 Layout. (#1740) - Split off JNDI support of
log4j-jdbc
to a newlog4j-jdbc-jndi
module (#1914) - Add "Plugin Reference" to the website. It is a Javadoc-on-steroids focusing on Log4j plugins. (#1954)
- Split extended compression algorithm support to new
log4j-compress
module. (#2921)
Changed
- Remove JAnsi library support, since Windows console supports ANSI escapes now. (#1736)
- Move
DisruptorBlockingQueue
plugin to newlog4j-conversant
module. (#2914) - Rewrite
JAnsiTextRenderer
to work without JAnsi library. (#2916)
Fixed
- Switch MongoDB tests to use Docker. (#2229)
- Fix custom thread-context data provider handling in lookups and filters. (#2331)
- Fix reloading of the configuration from an HTTP(S) source (#2937)
- Fix Android-related issues in Log4j Core. (#3056)
- Website is migrated to Antora with several formatting and link fixes (#2443)
Removed
- Remove named date & time formatting patterns in Pattern Layout, except for
UNIX
andUNIX_MILLIS
(#3150) - Move Flume Appender to its own release lifecycle. (#2902)
- Remove
ThrowableProxy
and its usages (#3047) - Remove logging bridges from distribution and reference their 2.x equivalents in
log4j-bom
. - Remove CLI tools to generate logger wrappers and convert configuration files.
These tools will be available in the next release of Log4j Transform. - Remove deprecated
org.apache.logging.log4j.core.appender.rolling.action.Duration
class. - Remove
log4j-1.2-api
module (#2621) - Remove
log4j-iostreams
module (#2630)
Updated
- Update
apache/logging-parent
to version `` (#2598) - Update
com.fasterxml.jackson:jackson-bom
to version2.18.1
(#3136) - Update
io.fabric8:docker-maven-plugin
to version0.45.1
(#3036) - Update
org.apache.commons:commons-compress
to version1.27.1
(#2870) - Update
org.apache.commons:commons-csv
to version1.12.0
(#3020) - Update
org.apache.commons:commons-dbcp2
to version2.12.0
(#2342) - Update
org.apache.logging.log4j:log4j-api
to version2.24.1
(#3035) - Update
org.jctools:jctools-core
to version4.0.5
(#2638) - Update
org.jspecify:jspecify
to version1.0.0
(#2750) - Update
org.mongodb:bson
to version5.2.1
(#3179) - Update
org.springframework.boot:spring-boot-autoconfigure
to version3.3.5
(#3120) - Update
org.springframework.cloud:spring-cloud-context
to version4.1.4
(#2733) - Update
org.springframework:spring-framework-bom
to version6.1.14
(#3102)