Bump jul-to-slf4j and jcl-over-slf4j to version 2.0.16 #6409
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Motivated primarily by the regression in #6405 and #6405 (comment), this bumps the version of
jul-to-slf4j
andjcl-over-slf4j
to the latest release of the 2.0.x series, currently 2.0.16. These should be compatible with the version ofslf4j-api
which is now shipped in OMERO.server.As an additional feature, the latest version of
jul-to-slf4j
now depends onreload4j
(rather thanlog4j
) for testing purposes. This does not resolve the dependency problems raised in #6405 but it further reduces the chances oflog4j.jar
unexpectedly creeping into the binaries.Testing should confirm that logging statements using either JCL (Apache Commons Logging, formerly Jakarta Commons Logging) or JUL (java.util.logging) as still handled via
slf4
and ultimatelylogback
.Unfortunately the biggest usage of these logging frameworks will be in third-party dependencies since the majority of the OMERO code base has been converted to using
slf4j
andlogback
over a decade ago - #1006.Within OMERO, there are still a few classes making internal use of either JCL or JUL:
Blitz-0.log
at the server startupome.util.Utils
uses JUL in its closeQuietly API,Utils.closeQuietly
is used in a few components to close input streams however the logging message will only appear ifclose()
throws an exception so I can't think of a good scenario off-handomero.client
and the import code base primarily when calling keepAlive - https://github.com/search?q=org%3Aome+omero.util.Resources+language%3AJava&type=code&l=JavaAs a follow-up all the classes above could probably be updated to use the
slf4j
API and get rid of JCL and JUL at least in the OME codebase. I'll hold on opening these until this has been tested as it could make the testing more complicated.