SeleniumHQ / SeleniumHQ/selenium
[Feature]: Follow-up tracker for the remaining gaps from #17832's Java debug-logging consistency mechanism
- Dominant language
- Java
- Stars
- 34.5k
- Forks
- 8.7k
- Avg merge
- 2d 1h
- Merged PRs (30d)
- 92
Description
### Motivation
#17832 unifies Java's two debug switches (`-Dselenium.debug=true` / `-Dselenium.webdriver.verbose=true`, and `SE_DEBUG`) so both raise the real `org.openqa.selenium` logger to `FINE` via `Debug.configureLogger()`, adopting option 4 of the five laid out in #12892. That PR is explicitly the *mechanism* only — its own "Additional Considerations" section calls out two pieces of remaining work it deliberately does not attempt, so #12892 can be closed as "switches unified" without those two pieces silently getting lost.
This is the umbrella tracking issue for that remaining work. Each checkbox is a separate issue so it can be picked up and merged independently.
### Remaining work
- [ ] #17834 — Second-driver discovery-logging gap (narrows, doesn't close, a pre-existing gap: a *second* driver constructed after the debug switch is flipped mid-run still misses its own discovery logging, because that logging runs from the subclass's `super(...)` argument expressions before the instance constructor reaches `Debug.configureLogger()`). Landed as a commit on #17832.
- [ ] #17835 — Full logging/level standardization across Selenium Java (the ~64 `Debug.getDebugLogLevel()` call sites across 14 files, plus any other ad-hoc "log at INFO if debugging, else FINE/FINER" logic anywhere in the Java bindings, migrated onto the real logger levels that #17832 makes meaningful). Landed as commits on #17832.
- [ ] #17836 — `DriverFinderTest` property fixture doesn't clear/restore `selenium.webdriver.verbose` (same fixture-hygiene gap fixed elsewhere by the round-2 review pass, found adjacent/out-of-scope during that pass).
### Non-goals carried over from #17832 (not part of this tracker, noted for context)
- Grid's `LoggingOptions.getOutputStream()` still keys only on `SE_DEBUG` for stdout-vs-stderr routing, independently of the FINE level switch — a pre-existing inconsistency, not a regression, not addressed here.
- Whether `Debug.isDebugging()` should also honor `SE_DEBUG` (it deliberately does not, to avoid weakening the credential-redaction branch in `RemoteWebDriver`'s `UnreachableBrowserException` handling) is a separate, unresolved maintainer question raised in #17832 and out of scope for this tracker.
Related: #12892, #17832.
Contributor guide
Research direction
Start with the three linked issues, #17834, #17835, and #17836, and read #17832 for the mechanism and its constraints. Work on an individual checkbox rather than this umbrella issue: completion means the corresponding issue is merged and its checkbox can be marked done; the tracker is complete when all three gaps are addressed.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- observability
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100