This is an automated email from the ASF dual-hosted git repository.

lukaszlenart pushed a commit to branch docs/struts-7.3.0-content-audit
in repository https://gitbox.apache.org/repos/asf/struts-site.git

commit 5f2013e09a687dbfeb79e8728c02f7a30b159b2a
Author: Lukasz Lenart <[email protected]>
AuthorDate: Tue Aug 11 12:29:51 2026 +0200

    docs: document the Log4j2 standardization completed in Struts 7.3.0
    
    WW-5620 replaced the remaining java.util.logging and SLF4J call sites
    inside the framework and dropped slf4j-api from struts2-core. Verified
    against the STRUTS_7_3_0 tag: the dependency is absent from core/pom.xml
    (it was declared optional in 7.2.1, so consumers see no classpath change)
    and STRUTS_6_11_0 still declares it.
    
    The same change removed the container's Logger binding, so an
    @Inject java.util.logging.Logger in a container-managed bean no longer
    resolves -- flagged as a behaviour change.
    
    Co-Authored-By: Claude Opus 5 <[email protected]>
---
 source/core-developers/logging.md | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/source/core-developers/logging.md 
b/source/core-developers/logging.md
index 220f41524..944033349 100644
--- a/source/core-developers/logging.md
+++ b/source/core-developers/logging.md
@@ -24,6 +24,18 @@ setting `-Dxwork.loggerFactory` has no effect.
 The Log4j2 bridges for third-party libraries (`log4j-jcl` for Commons Logging, 
`log4j-slf4j-impl` for SLF4J) are a
 separate concern and remain available. They route logging emitted by 
transitive dependencies into Log4j2.
 
+Struts 7.3.0 finished the job: the last `java.util.logging` and SLF4J call 
sites inside the framework — in the
+dependency-injection container, its finalizable reference queue and the Tiles 
plugin's Velocity renderable — now log
+through Log4j2, and the `slf4j-api` dependency was dropped from 
`struts2-core`, see
+[WW-5620](https://issues.apache.org/jira/browse/WW-5620). That dependency was 
declared `optional`, so it was never
+propagated to applications and nothing changes on your classpath. Struts 
6.11.0 still declares it.
+
+**Removed in Struts 7.3.0**: the internal DI container no longer provides a 
`Logger` binding. `@Inject`-ing a
+`java.util.logging.Logger` into a container-managed bean used to yield a JUL 
logger named after the declaring class;
+that binding was removed along with the JUL usage, so such an injection no 
longer resolves. Declare a Log4j2 logger
+directly instead, as shown below.
+{:.alert .alert-warning}
+
 ## Usage
 
 Declare a Log4j2 logger in your own classes as usual:

Reply via email to