-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 bridge: Provides transparent redirection of Commons > Logging calls to SLF4J > > Thank you for considering this proposal to modernize JEXL's logging > infrastructure. > > > > > > > > > > > > > > > 单红宇 > [email protected]
