[PATCH v11 0/9] Logging unification and enhancements

Mattias Rönnblom hofors at lysator.liu.se
Sun Mar 24 12:18:37 CET 2024


On 2024-03-24 03:33, Stephen Hemminger wrote:
> Improvements and unification of logging library (for 24.07 release).
> This version works on all platforms: Linux, Windows and FreeBSD.
> 
> This is update to rework patch set. It adds several new features
> to the console log output.
> 
>    * Putting a timestamp on console output which is useful for
>      analyzing performance of startup codes. Timestamp is optional
>      and must be enabled on command line.
> 
>    * Displaying console output with colors.
>      It uses the standard conventions used by many other Linux commands
>      for colorized display.  The default is to enable color if the
>      console output is going to a terminal. But it can be always
>      on or disabled by command line flag. This default was chosen
>      based on what dmesg(1) command does.
> 
>      I find color helpful because DPDK drivers and libraries print
>      lots of not very useful messages. And having error messages
>      highlighted in bold face helps. This might also get users to
>      pay more attention to error messages. Many bug reports have
>      earlier messages that are lost because there are so many
>      info messages.
> 
>    * Use of syslog on Linux is replaced by using journal
>      API (over unix domain socket). This replaces legacy syslog;
>      (almost) all Linux distros have switched to journal.
> 

Is "switched to journal" the same as "switched to systemd", or are there 
non-systemd journal API implementations?

I'm guessing there are quite a few Linux-based embedded systems that 
doesn't use systemd.

Ideally, you would like to have journal as the Linux default, and then 
syslog as a build-time option.

> Will add a release note in next release (after this is merged)
> 
> v11 - rework to be portable to Windows
>        drop syslog support and support journal instead
> 
> Stephen Hemminger (9):
>    windows: make getopt functions have const properties
>    eal: make eal_log_level_parse common
>    eal: do not duplicate rte_init_alert() messages
>    eal: change rte_exit() output to match rte_log()
>    log: drop syslog support, and make code common
>    log: add hook for printing log messages
>    log: add timestamp option
>    log: add support for systemd journal
>    log: colorize log output
> 
>   app/test/test_eal_flags.c                     |  38 +-
>   doc/guides/linux_gsg/linux_eal_parameters.rst |  27 -
>   .../prog_guide/env_abstraction_layer.rst      |   5 +-
>   doc/guides/prog_guide/log_lib.rst             |  41 +-
>   lib/eal/common/eal_common_debug.c             |  11 +-
>   lib/eal/common/eal_common_options.c           | 123 ++---
>   lib/eal/common/eal_internal_cfg.h             |   2 +-
>   lib/eal/common/eal_options.h                  |   7 +-
>   lib/eal/freebsd/eal.c                         |  54 +-
>   lib/eal/linux/eal.c                           |  52 +-
>   lib/eal/unix/eal_debug.c                      |   3 +-
>   lib/eal/windows/eal.c                         |  39 +-
>   lib/eal/windows/getopt.c                      |  23 +-
>   lib/eal/windows/include/getopt.h              |   8 +-
>   lib/log/log.c                                 | 513 ++++++++++++++++--
>   lib/log/log_freebsd.c                         |  12 -
>   lib/log/log_internal.h                        |  16 +-
>   lib/log/log_linux.c                           |  61 ---
>   lib/log/log_windows.c                         |  18 -
>   lib/log/meson.build                           |   5 +-
>   lib/log/version.map                           |   2 +
>   21 files changed, 656 insertions(+), 404 deletions(-)
>   delete mode 100644 lib/log/log_freebsd.c
>   delete mode 100644 lib/log/log_linux.c
>   delete mode 100644 lib/log/log_windows.c
> 


More information about the dev mailing list