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]
