Skip to content

Add configurable log level in application settings UI #19

@kumaakh

Description

@kumaakh

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions