Skip to content

Fix global log level 'excess' mapping to LOG_INFO - #2975

Merged
darylc merged 1 commit into
FalconChristmas:masterfrom
MrPaulAR:fix-loglevel-excess
Sep 19, 2026
Merged

darylc merged 1 commit into
FalconChristmas:masterfrom
MrPaulAR:fix-loglevel-excess

Conversation

@MrPaulAR

Copy link
Copy Markdown
Contributor

SetLogLevel(const char* newLevel) is the legacy global setter, used when the API/UI is given a bare level with no level:channel targeting (SetLogLevelComplex() falls through to it when the input contains no :).

Its excess branch sets LOG_INFO instead of LOG_EXCESSIVE:

} else if (!strcmp(newLevel, "excess")) {
    FPPLogger::INSTANCE.SetAllLevel(LOG_INFO);
}

LOG_EXCESSIVE exists and is used by the per-channel path - FPPLogger::SetLevel(name, level) maps "excess" -> LOG_EXCESSIVE - so this looks like a copy/paste slip in the global variant.

Effect: POST /api/fppd/log/level/excess (and the UI log-level control) silently sets info, and additionally downgrades every channel already at debug/excess down to info - the opposite of what the caller asked for, and particularly unhelpful when the point is to gather excess detail.

Fix: use LOG_EXCESSIVE.

Repro: POST /api/fppd/log/level/excess then GET /api/fppd/log - no channel reports excess.

@darylc
darylc merged commit 89b1dd5 into FalconChristmas:master Sep 19, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants