lukaszlenart opened a new pull request, #320:
URL: https://github.com/apache/struts-site/pull/320

   ## What
   
   The [Logging](https://struts.apache.org/core-developers/logging) page 
documented the pluggable XWork logging layer — 
`com.opensymphony.xwork2.util.logging.LoggerFactory`, extending `LoggerFactory` 
to plug in your own, and selecting one with `-Dxwork.loggerFactory`.
   
   That layer was deprecated in Struts 2.5 and **removed in 6.0.0**. The page 
half-acknowledged this ("support for a custom logging layer has been removed in 
Struts 6.x") and then spent 120 lines explaining how to use it. Line 13 also 
still said it "will be dropped with the next major release" — three majors ago.
   
   So of the page's four sections, three described an API that no longer 
exists: the `LoggerFactory.getLogger(...)` example doesn't compile, `extends 
LoggerFactory` has nothing to extend, and `-Dxwork.loggerFactory` is read by 
nothing and silently ignored.
   
   ## Evidence
   
   - `com/opensymphony/xwork2/util/logging/` holds 12 files at `STRUTS_2_5_33` 
and **zero** at `STRUTS_6_0_0`, `STRUTS_6_10_0`, `STRUTS_7_2_1` and later.
   - No source in the current tags reads `xwork.loggerFactory`.
   - `core/pom.xml` declares `log4j-api` and `log4j-core` in both 
`STRUTS_6_10_0` and `STRUTS_7_2_1`.
   
   ## Now
   
   The page describes how logging actually works: Log4j2 via 
`log4j-api`/`log4j-core`, configured with a `log4j2.xml` on the classpath, 
cross-linked to [Debugging 
Struts](https://struts.apache.org/getting-started/debugging-struts) for a 
worked configuration. A warning callout records that the XWork layer and the 
system property are gone, so anyone arriving from a search result or an old 
bookmark isn't left guessing. The `log4j-jcl` / `log4j-slf4j-impl` bridges for 
third-party library logging are noted as a separate, still-supported concern.
   
   The `Usage` example is rewritten against the Log4j2 API, including the `{}` 
placeholder rather than the removed logger's `#0` syntax.
   
   ## Also
   
   `.gitignore` gains `vendor/`. Installing this site's gems the usual way 
(`bundle install --path vendor/bundle`, to avoid the system gem dir) leaves ~29 
gems in `vendor/`, which then shows as untracked on every branch. `.bundle` and 
`Gemfile.lock` were already ignored; `vendor/` was the gap.
   
   ## Verification
   
   `bundle exec jekyll build --trace` passes, and the page was checked in the 
generated `_site` output — the warning renders as an `alert-warning` callout 
and the `Debugging Struts` link resolves.
   
   This is scoped to what is true for **released** versions. Struts 7.3.0 
additionally drops the optional `slf4j-api` dependency from `struts2-core` 
(WW-5620); that is a one-paragraph follow-up once 7.3.0 ships.
   
   🤖 Generated with [Claude Code](https://claude.com/claude-code)


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to