-
-
Notifications
You must be signed in to change notification settings - Fork 1.7k
Description
This story aims to overhaul main (targeting Log4j version 3.0.0) branch as a follow up of #1969 and #2016.
Removal of deprecated features
main, since it is forked from 2.x, contains several features and modules that are suitable to be dropped. Since this is a backward incompatible change, we cannot implement this for 2.x. main, targeting 3.0.0, i.e., a new major version release, is a good opportunity for this. Following changes are mostly related with that.
- Remove
ThreadLocals.enableproperty inmain#2105 - Remove
DefaultLogEventFactory(b338d07) - Remove
Supplier#2175 - Remove
log4j-layout-jacksonandlog4j-layout-jackson-xml#2198 - Remove ineffective tests #2209
- Deprecate
StatusConsoleListenerfilters #2226 - Remove JMX support #2228
- Remove
log4j-jclandlog4j-appservermodules #2257
Split functionality to dedicated modules
2.x used to combine several features in one module: log4j-core. This imposes, next to a greater surface for potential vulnerabilities, several disadvantages for those who only need a subset of these offered features. Here we try to improve this experience by moving certain functionalities to their own dedicated modules.
- Consider moving recyclers to
log4j-core#2106 - move asynchronous logging to
log4j-async
Port changes from 2.x
main was forked ~6 years ago from 2.x. In the meantime, thousands of improvements were introduced to 2.x and sadly a majority of these were not ported to main. Put another way, main contains several issues that were already fixed in 2.x. Below shared items are related with porting such changes from 2.x to main.
- Port
log4j-1.2-apichanges from2.x#2188 - Port
log4j-apichanges from2.x#2208 - Restore compatibility of Log4j API #2203
log4j-appserver(75ab3ae)log4j-csv✔️log4j-docker(788ec71)log4j-flume-ng(846f354, ca6f923)log4j-gctests(245da43)log4j-iostreams(4bd7e19)log4j-jcl(40f1bde, a863232, b8fb8c8)log4j-jdbc(14013cd)log4j-jdbc-dbcp2(2b0ba72)log4j-jndi(cf4b39e, 986a716)log4j-jndi-test(c5680fe, bac23ba)log4j-layout-template-json&log4j-layout-template-json-test(027009e, 923a43e, 3254858, b1113c7)log4j-osgi(e25c308, 496951e, 125f505, e3a2559)- Port
log4j-osgi-testchanges from2.x#2187
Miscellaneous improvements
In accordance with Boy Scout Rule, things we have improved along the way: