Re: [PROPOSAL] Migrate Commons JEXL from Commons Logging to SLF4J

Gary Gregory <[email protected]>
Newsgroups gmane.comp.jakarta.commons.devel
Message-ID <CACZkXPz0a3oRQuunPSmYzOydgzho3-_RLd9eQaT6V=jM0UeMxg@mail.gmail.com>
-1: If we switch to anything, we should switch to log4j-api, it's just
better.

Gary

On Fri, Dec 19, 2025, 03:59 单红宇 <[email protected]> wrote:

> Dear Apache Commons JEXL developers,
>
>
> I'm writing to propose migrating the Commons JEXL project from Apache
> Commons Logging
>
> to SLF4J as the default logging facade.
>
>
>
>
>
> -----------------------------------------------------------------------------------------
>
> Apache Commons JEXL currently uses Apache Commons Logging as its default
> logging framework. While Commons Logging has served well historically, the
> Java logging landscape has evolved significantly. Many modern frameworks
> and applications now prefer and default to SLF4J (Simple Logging Facade for
> Java).
>
> Why SLF4J is Recommended:
>
>
> Modern Ecosystem Alignment: Most contemporary Java frameworks (Spring
> Boot, Hibernate, etc.) have migrated to or recommend SLF4J as their logging
> facade.
>
>
>
> Superior Performance: SLF4J's parameterized logging (logger.debug("User {}
> logged in", username)) avoids the string concatenation overhead required by
> Commons Logging's isDebugEnabled() pattern.
>
>
>
> Flexible Backend Support: SLF4J supports multiple logging implementations
> (Logback, Log4j2, JDK logging) without requiring code changes.
>
>
>
> Better API Design: SLF4J provides a cleaner API with no checked exceptions
> and supports MDC (Mapped Diagnostic Context) for advanced logging scenarios.
>
>
>
> Industry Standard: SLF4J has become the de facto standard for logging
> facades in modern Java applications.
>
>
> Migration Benefits for JEXL:
>
> Better Integration: Projects using SLF4J won't need bridging dependencies
> when using JEXL.
>
> Performance Improvements: Parameterized logging in SLF4J can provide
> performance benefits.
>
> Future-Proofing: Aligns JEXL with modern Java development practices.
>
> Backward Compatibility: Existing projects can continue using Commons
> Logging via SLF4J's bridge (jcl-over-slf4j).
>
> Proposed Approach:
>
> Replace Commons Logging dependencies with SLF4J API
>
> Update code to use SLF4J's parameterized logging patterns
>
> Provide backward compatibility documentation
>
> Backward Compatibility Note: SLF4J provides excellent backward
> compatibility. Projects currently using JEXL with Commons Logging can
> simply add the jcl-over-slf4j bridge dependency to route all Commons
> Logging calls through SLF4J without changing their logging configuration.
>
> Willingness to Contribute: If the maintainers agree with this proposal, I
> would be happy to contribute the necessary code changes via a pull request.
> This would include:
>
> Dependency updates in pom.xml
>
> Code migration from Commons Logging to SLF4J patterns
>
> Documentation updates
>
> Test verification
>
> References:
>
> SLF4J Manual: http://www.slf4j.org/manual.html
>
> Migration Guide: http://www.slf4j.org/legacy.html
>
> jcl-over-slf4j&nbsp;bridge: Provides transparent redirection of Commons
> Logging calls to SLF4J
>
> Thank you for considering this proposal to modernize JEXL's logging
> infrastructure.
>
>
>
>
>
>
>
>
>
>
>
>
>
>
> 单红宇
> [email protected]
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.