From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 8173043D8B; Sat, 30 Mar 2024 04:04:48 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 3B741402E3; Sat, 30 Mar 2024 04:04:44 +0100 (CET) Received: from mail-oi1-f178.google.com (mail-oi1-f178.google.com [209.85.167.178]) by mails.dpdk.org (Postfix) with ESMTP id C588B402C6 for ; Sat, 30 Mar 2024 04:04:41 +0100 (CET) Received: by mail-oi1-f178.google.com with SMTP id 5614622812f47-3c4de6ea593so58787b6e.1 for ; Fri, 29 Mar 2024 20:04:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=networkplumber-org.20230601.gappssmtp.com; s=20230601; t=1711767880; x=1712372680; darn=dpdk.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=7QG1/eJA7BWR22+WdbTL7ypEAKYP+czm+vWV3fr5lw8=; b=1Z/NO+7dFX/7rrSUhocVfGGipl1LH44+okRvmyJRyp8x5C3sLmdQIHI/zKttjBX/Cu 0YvuMvh6/6RSuKjjjNobq655PIJ1dZBXpViuxNDZARVqOSLTiILqCxc9Ri64Pbe5zsqi AiP/VcJF8mHVDsiL4A/NV2QkCkPDG4sUI4mk6PDPFXuzM908srDukfxyvZW8F5CZLoBN ChCfypVBzb3plZZSP1vhLxdH8HoCBk8RSY1biq8u+dRSAXr5l1vY9719gr8e9uqOE7Oh bnPQ3Y5EP2OO86+8Vlo9zGC+I1VOMD0Xm9oVkNgx9rZCxTI/2uV72dyRhrybOgSyzx/u uw8Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1711767880; x=1712372680; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=7QG1/eJA7BWR22+WdbTL7ypEAKYP+czm+vWV3fr5lw8=; b=d+YYSFcRT9Ul7VQPc7e6nNlGKWeITjRYRstD4JibU5sp9ooLYIbJkNNa9NOt0bs544 3QSAqovOTN1n2onM9VHLVgyCr8l1aixNgLVION5BixeWtsu32b0xXdc6/kqlpBmoxsbI QW+1vxZrJlWouiwIEoo6uQDq9w8Tp1OoVfc0Db/91BhW2kY/5XJM7zQka//qjk3WCj4v lddQbJxJGSBWOpS4l1bvViCLgMUa6ZsJmRl77dlQxJKh3f8hgdvz5JcIDQ/cvg0aHauM 4VIyCD6AL9smXtqhDyq0qibJEm15aICf/zxasX5eaN9melrtHNc2vZu5JYNOGdCbr98x S7Bw== X-Gm-Message-State: AOJu0YwrFmVw6A6GFxVTn+/+q2HHcuUKXIHBA7BS9D9UHUslSmJMpkwq 8Y+KbN5WeulqJt2v+WfvTlk/sXyA41ZENfiHhMrExyJ+92TL/FUKZRlEc9xoCnvHnq64QvPWtJD B X-Google-Smtp-Source: AGHT+IF0OH/LJCzoXkV54ZoDBBe/LB71c8kPHRX4TpJpFyAPF7XtQUgJGXpr5SzY0aVMEVJB7Q17UA== X-Received: by 2002:a05:6808:16a5:b0:3c3:e389:751f with SMTP id bb37-20020a05680816a500b003c3e389751fmr3994259oib.40.1711767879950; Fri, 29 Mar 2024 20:04:39 -0700 (PDT) Received: from hermes.local (204-195-123-203.wavecable.com. [204.195.123.203]) by smtp.gmail.com with ESMTPSA id o3-20020a056a00214300b006e6288ef4besm3655486pfk.54.2024.03.29.20.04.39 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 29 Mar 2024 20:04:39 -0700 (PDT) From: Stephen Hemminger To: dev@dpdk.org Cc: Stephen Hemminger Subject: [PATCH v19 00/15] Logging unification and improvements Date: Fri, 29 Mar 2024 20:00:43 -0700 Message-ID: <20240330030429.4630-1-stephen@networkplumber.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20200814173441.23086-1-stephen@networkplumber.org> References: <20200814173441.23086-1-stephen@networkplumber.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Improvements and unification of logging library. 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. Color is used by many tools (vi, iproute2, git) because it is helpful; 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... v19 - split log outputs into seperate files, which makes it more OO and cleaner. - make journal log configurable (mostly for testing) 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 | 71 ++++++ drivers/bus/pci/pci_common.c | 32 --- lib/eal/common/eal_common_debug.c | 11 +- lib/eal/common/eal_common_options.c | 137 ++++++----- lib/eal/common/eal_options.h | 7 + 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 | 87 ++++--- lib/log/log_color.c | 160 +++++++++++++ lib/log/log_freebsd.c | 12 - lib/log/log_internal.h | 28 ++- lib/log/log_journal.c | 216 ++++++++++++++++++ lib/log/log_linux.c | 61 ----- lib/log/log_private.h | 34 +++ lib/log/log_stubs.c | 34 +++ lib/log/log_syslog.c | 89 ++++++++ lib/log/log_timestamp.c | 204 +++++++++++++++++ lib/log/log_windows.c | 18 -- lib/log/meson.build | 14 +- lib/log/version.map | 5 +- 28 files changed, 1172 insertions(+), 448 deletions(-) create mode 100644 lib/log/log_color.c delete mode 100644 lib/log/log_freebsd.c create mode 100644 lib/log/log_journal.c delete mode 100644 lib/log/log_linux.c create mode 100644 lib/log/log_private.h create mode 100644 lib/log/log_stubs.c create mode 100644 lib/log/log_syslog.c create mode 100644 lib/log/log_timestamp.c delete mode 100644 lib/log/log_windows.c -- 2.43.0