`phosphor-logging` APIs (RFC)

Patrick Williams patrick at stwcx.xyz
Wed Jul 28 06:24:14 AEST 2021


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
lg2: initial implementation of C++20 structured logging

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
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <http://lists.ozlabs.org/pipermail/openbmc/attachments/20210727/d81bce20/attachment.sig>

More information about the openbmc mailing list