Branch: refs/heads/master Home: https://github.com/xwiki/xwiki-commons Commit: 1e87bcbb2cfaa6171ec281ab4b7354e084b8fdce https://github.com/xwiki/xwiki-commons/commit/1e87bcbb2cfaa6171ec281ab4b7354... Author: Vincent Massol <[email protected]> Date: 2026-08-03 (Mon, 03 Aug 2026) Changed paths: M xwiki-commons-core/xwiki-commons-component/xwiki-commons-component-default/src/main/java/org/xwiki/component/annotation/ComponentAnnotationLoader.java M xwiki-commons-core/xwiki-commons-component/xwiki-commons-component-default/src/main/java/org/xwiki/component/embed/EmbeddableComponentManager.java M xwiki-commons-core/xwiki-commons-extension/xwiki-commons-extension-api/src/main/java/org/xwiki/extension/repository/internal/RepositoryUtils.java M xwiki-commons-core/xwiki-commons-filter/xwiki-commons-filter-xml/src/main/java/org/xwiki/filter/xml/internal/parser/DefaultXMLParser.java M xwiki-commons-core/xwiki-commons-job/xwiki-commons-job-api/src/main/java/org/xwiki/job/internal/DefaultJobProgress.java M xwiki-commons-core/xwiki-commons-velocity/src/main/java/org/xwiki/velocity/tools/EscapeTool.java M xwiki-commons-core/xwiki-commons-velocity/src/test/java/org/xwiki/velocity/tools/EscapeToolTest.java M xwiki-commons-core/xwiki-commons-xml/src/main/java/org/xwiki/xml/XMLUtils.java M xwiki-commons-core/xwiki-commons-xml/src/test/java/org/xwiki/xml/XMLUtilsTest.java M xwiki-commons-tools/xwiki-commons-tool-test/xwiki-commons-tool-test-simple/src/main/java/org/xwiki/test/junit5/RuntimeUtils.java Log Message: ----------- [Misc] Apply the logging best practices: root cause in warn(), no explicit toString(), static final Logger (#1871) Runs the six-pass logging audit from xwiki-platform over xwiki-commons. What #1867 left, in 12 sites: * warn(..., e.getMessage()) x5 (EscapeTool, XMLUtils x4) -> getRootCauseMessage(), which surfaces the underlying cause instead of the wrapper's message. The new rendering is shorter and names the class: [WrappedRuntimeException: Invalid url protocol: file] where it used to repeat the whole wrapper chain. * An explicit .toString() on a placeholder argument x4 (ComponentAnnotationLoader, RepositoryUtils, DefaultJobProgress x2). SLF4J calls toString() itself, so this is redundant, eager, and NPEs on a null where SLF4J would render "null" -- and both DefaultJobProgress sites are on the branch taken precisely because the source could not be matched. * DefaultXMLParser dropped its ConversionException entirely, so nothing said why the conversion failed. * EmbeddableComponentManager built a new Logger per instance (neither static nor final). It is now private static final LOGGER next to the SHUTDOWN_LOGGER already in that class. * RuntimeUtils assembled its message with String.format() into a local, so the call site had no literal at all; the local stays because the return value needs it, only the log call is parameterized. To unsubscribe from these emails, change your notification settings at https://github.com/xwiki/xwiki-commons/settings/notifications