Hello,

The Gradle dependency management team developed a plugin [1] in parallel to
writing a blog post on the Gradle blog [2] that shows how Gradle can help
detect invalid logging setup at build time using Gradle’s new capabilities
concept [3].
Feature wise, the plugin can detect invalid setups involving Slf4J and
Log4J 2. In addition, it offers configuration options to enforce a selected
logging solution if conflicts are detected.

If you use Gradle, take a look at the plugin as it will protect against
invalid setups out of the box. Please report issues or feature ideas on
GitHub [4].

The capabilities-based conflict detection in Gradle could also work without
plugins, if logging libraries such as Log4J 2 would publish enough
information in their metadata, which is now possible using the new Gradle
Module Metadata format (in addition to POM) [5]. We, at Gradle, would be
very happy to discuss, and help with, publishing this information for
 upcoming Log4J 2 releases. Would there be an interest there (asking Log4J
2 maintainers)?

Regards,
Louis for the Gradle Dependency Management team

[1] https://plugins.gradle.org/plugin/dev.jacomet.logging-capabilities
[2] https://blog.gradle.org/addressing-logging-complexity-capabilities
[3] https://docs.gradle.org/6.0.1/userguide/component_capabilities.html
[4] https://github.com/ljacomet/logging-capabilities
[5]
https://docs.gradle.org/current/userguide/publishing_gradle_module_metadata.html

Reply via email to