Hi all,

Since Log4j Core 3.x moved to `log4j-api` 2.24.0, many artifacts that
only depend on `log4j-api` became redundant in the 3.x branch:

* `log4j-iostreams`,
* `log4j-jpl`,
* `log4j-jul`,
* `log4j-slf4j-impl`,
* `log4j-slf4j2-impl`,
* `log4j-to-jul`,
* `log4j-to-slf4j`.

Right now the `3.x` version of these artifacts is basically the same
as the `2.x` version, except it is compiled with Java 17 instead of
Java 8. They could have some regression though.

What should we do with those artifacts? They are already JPMS modules,
they don't need dependency injection, they barely use 2 Log4j system
properties (in `log4j-jul`, but JUL by definition has a single global
logger context, so these props must be global).

I would propose to remove them from the `main` branch and just
reference the `2.24.0` version in the `3.0.0` version of `log4j-bom`.

It will be easier to convince Spring Boot to bump the version of
`log4j-bom` to `3.0.0` if the bump will not change **anything** in
`spring-boot-starter-logging` (the default Logback-based stack) and
will only change the version of `log4j-core` in
`spring-boot-starter-log4j2`.

Piotr

Reply via email to