SeleniumHQ / SeleniumHQ/selenium

[Feature]: Follow-up tracker for the remaining gaps from #17832's Java debug-logging consistency mechanism

Open
#17,833 0 comments 0 reactions 0 assignees View on GitHub
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.