Problem
Currently ODM has no way to control logging verbosity from the UI. All log output uses a fixed level — users and developers cannot increase detail for troubleshooting or reduce noise in production without recompiling.
Proposed solution
Add a Log Level control in the application settings / config screen with levels:
- Off — no logging
- Error — errors only (default for production)
- Warning — errors + warnings
- Info — general activity (current behaviour)
- Debug — verbose, includes RTSP negotiation, decoder stats, Media2 calls
The selected level should persist in app.config or equivalent user settings and take effect at next launch (or immediately if the logging framework supports it).
Implementation notes
- ODM uses
log.WriteInfo()/log.WriteError() throughout — the logging infrastructure already exists, just needs a level gate
- The setting screen is in
odm.ui.views — add a dropdown/slider alongside existing settings
- Level should default to Error in release builds so release users don't get verbose output by default
- Consider exposing a
--log-level <level> CLI flag for power users / automated test harness use
Related
Surfaced during investigation of RTSP streaming failures where the only diagnostic output went to stderr (invisible in release builds) and there was no way to enable verbose logging without recompiling.
Problem
Currently ODM has no way to control logging verbosity from the UI. All log output uses a fixed level — users and developers cannot increase detail for troubleshooting or reduce noise in production without recompiling.
Proposed solution
Add a Log Level control in the application settings / config screen with levels:
The selected level should persist in
app.configor equivalent user settings and take effect at next launch (or immediately if the logging framework supports it).Implementation notes
log.WriteInfo()/log.WriteError()throughout — the logging infrastructure already exists, just needs a level gateodm.ui.views— add a dropdown/slider alongside existing settings--log-level <level>CLI flag for power users / automated test harness useRelated
Surfaced during investigation of RTSP streaming failures where the only diagnostic output went to
stderr(invisible in release builds) and there was no way to enable verbose logging without recompiling.