[PATCH v17 00/15] Logging unification and improvements
Stephen Hemminger
stephen at networkplumber.org
Thu Mar 28 00:28:23 CET 2024
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.
* Add support for automatic detection of systemd journal
protocol. If running as systemd service will get enhanced
logging.
* Use of syslog is optional and the meaning of the
--syslog flag has changed. The default is *not* to use
syslog.
Add myself as maintainer for log because by now have added
more than previous authors...
Will add a release note in next release (after this is merged)
v17 - fix isatty incompatability on Windows
Stephen Hemminger (15):
maintainers: add for log library
windows: make getopt functions have const properties
windows: add os shim for localtime_r
windows: common wrapper for vasprintf and asprintf
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: move handling of syslog facility out of eal
eal: initialize log before everything else
log: drop syslog support, and make code common
log: add hook for printing log messages
log: add timestamp option
log: add optional support of syslog
log: add support for systemd journal
log: colorize log output
MAINTAINERS | 1 +
app/test/test_eal_flags.c | 64 +-
doc/guides/linux_gsg/linux_eal_parameters.rst | 27 -
doc/guides/prog_guide/log_lib.rst | 57 ++
drivers/bus/pci/pci_common.c | 32 -
lib/eal/common/eal_common_debug.c | 11 +-
lib/eal/common/eal_common_options.c | 126 ++--
lib/eal/common/eal_options.h | 5 +
lib/eal/common/eal_private.h | 10 -
lib/eal/freebsd/eal.c | 64 +-
lib/eal/linux/eal.c | 68 +-
lib/eal/windows/eal.c | 77 +--
lib/eal/windows/getopt.c | 23 +-
lib/eal/windows/include/getopt.h | 8 +-
lib/eal/windows/include/rte_os_shim.h | 58 ++
lib/log/log.c | 651 +++++++++++++++++-
lib/log/log_freebsd.c | 5 +-
lib/log/log_internal.h | 25 +-
lib/log/log_linux.c | 61 --
lib/log/log_windows.c | 18 -
lib/log/meson.build | 5 +-
lib/log/version.map | 4 +-
22 files changed, 972 insertions(+), 428 deletions(-)
delete mode 100644 lib/log/log_linux.c
delete mode 100644 lib/log/log_windows.c
--
2.43.0
More information about the dev
mailing list