mirror of https://github.com/bitcoin/bitcoin
Merge bitcoin/bitcoin#28318: logging: Simplify API for level based logging
pull/29222/heade60fc7d5d3
logging: Replace uses of LogPrintfCategory (Anthony Towns)f7ce5ac08c
logging: add LogError, LogWarning, LogInfo, LogDebug, LogTrace (Anthony Towns)fbd7642c8e
logging: add -loglevelalways=1 option (Anthony Towns)782bb6a056
logging: treat BCLog::ALL like BCLog::NONE (Anthony Towns)667ce3e329
logging: Drop BCLog::Level::None (Anthony Towns)ab34dc6012
logging: Log Info messages unconditionally (Anthony Towns)dfe98b6874
logging: make [cat:debug] and [info] implicit (Anthony Towns)c5c76dc615
logging: refactor: pull prefix code out (Anthony Towns) Pull request description: Replace `LogPrint*` functions with severity based logging functions: * `LogInfo(...)`, `LogWarning(...)`, `LogError(...)` for unconditional (uncategorised) logging (replaces `LogPrintf`) * `LogDebug(CATEGORY, ...)` and `LogTrace(CATEGORY, ...)` for conditional logging (replaces `LogPrint`) * `LogPrintLevel(CATEGORY, LEVEL, ...)` for when the level isn't known in advance, or a category needs to be added for an info/warning/error log message (mostly unchanged, but rarely needed) Logs look roughly as they do now with `LogInfo` not having an `[info]` prefix, and `LogDebug` having a `[cat]` prefix, rather than a `[cat:debug]` prefix. This removes `BCLog::Level::None` entirely -- for `LogFlags::NONE` just use `Level::Info`, for any actual category, use `Level::Debug`. Adds docs to developer-notes about when to use which level. Adds `-loglevelalways=1` option so that you get `[net:debug]`, `[all:info]`, `[all:warning]` etc, which might be helpful for automated parsing, or just if you like everything to be consistent. Defaults to off to reduce noise in the default config, and to avoid unnecessary changes on upgrades. Changes the behaviour of `LogPrintLevel(CATEGORY, BCLog::Level::Info, ...)` to be logged unconditionally, rather than only being an additional optional logging level in addition to trace and debug. Does not change the behaviour of `LogPrintLevel(NONE, Debug, ...)` and `LogPrintLevel(NONE, Trace, ...)` being no-ops. ACKs for top commit: maflcko: re-ACKe60fc7d5d3
🌚 achow101: ACKe60fc7d5d3
stickies-v: ACKe60fc7d5d3
jamesob: ACKe60fc7d5d3
([`jamesob/ackr/28318.1.ajtowns.logging_simplify_api_for`](https://github.com/jamesob/bitcoin/tree/ackr/28318.1.ajtowns.logging_simplify_api_for)) Tree-SHA512: e7a4588779b148242495b7b6f64198a00c314cd57100affab11c43e9d39c9bbf85118ee2002792087fdcffdea08c84576e20844b3079f27083e26ddd7ca15d7f
commit
7ff8e6b240
Loading…
Reference in new issue