Greetings, There have been discussions before on this mailing list about the APIs present in phosphor-logging and some of the shortcomings they have. I've implemented a new API, inside phosphor-logging, that I think resolves the issues discussed here and in some offline forums. If you have an interest in the logging APIs, I would appreciate any feedback you may have. If there are additional issues with the APIs that I might have missed, please feel free to let me know and I'll see what can be done about resolving them. lg2: introduce motivation and API https://gerrit.openbmc-project.xyz/c/openbmc/phosphor-logging/+/45310 lg2: initial implementation of C++20 structured logging https://gerrit.openbmc-project.xyz/c/openbmc/phosphor-logging/+/45311 The main highlights of what I attempted to fix are: - Verbose and clumsy API for previous `logging::log`. - Poor compile-time identification of certain (common) issues. - Source location data is invalid (issue openbmc/openbmc#2207). - Useful data is missing from `journalctl` resulting in people working around it by generating strings with `fmt` et.al. - No logging present when running on a TTY. -- Patrick Williams