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 558FC459C0; Tue, 17 Sep 2024 22:41:51 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 451C6427AC; Tue, 17 Sep 2024 22:41:51 +0200 (CEST) Received: from mail-pl1-f182.google.com (mail-pl1-f182.google.com [209.85.214.182]) by mails.dpdk.org (Postfix) with ESMTP id 98B12427A5 for ; Tue, 17 Sep 2024 22:41:49 +0200 (CEST) Received: by mail-pl1-f182.google.com with SMTP id d9443c01a7336-201d5af11a4so67894025ad.3 for ; Tue, 17 Sep 2024 13:41:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=networkplumber-org.20230601.gappssmtp.com; s=20230601; t=1726605709; x=1727210509; 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=BrtbS0dRd9HKJRWxoTnS8HL2KTBa23gK+7SAbwrEZks=; b=GuZk2NrB0rBF6sARPQI9Bf+UU+NedZCjIBnxKiyfUZb1Sg+wS0tnmuEt7S1TpRwlLZ Bxn3bjr4AD8PnV/itKUe4mIcCV9pT+c/DT27D7kOlK8hNvYnPzn3jbLzhZ7s9xUSV4qB 0h+iqim8gI7Iamy9gDrzJd34Mqv4QHCYZn3UKNFHSLAtqIKm4N6+7Bfg9GRWwYgGwXl+ nnpV+Nwjxfcxm2qBtyXlJ0lzC87gNAoYvI+2pSPKXIdljcRBccdxG7QFrmJv9O05MpEc i4Ezo70UuaRHS185Fr6htq3Z7cdiyzevkhjhCwmgl/CTTuMLi+RBz8ET6d9uRElZppuS jkpQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1726605709; x=1727210509; 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=BrtbS0dRd9HKJRWxoTnS8HL2KTBa23gK+7SAbwrEZks=; b=Obh02NBwx+vLzuPti3Zs5x3Mig8r1luMXkAd5qhxNcEqfjHefAmKVZE9dJFnX6u1Z/ aEyo2kjQwmzZcUF2LFIV2VZxBJd5nDtLGNtaNjvtW+YD4Dp2cYEwoDMTPPEJvbjrmu4+ 2fg1V9jdD9fPm5mEf81FPvES72E7VG1ZiSAljEEBfug/NBCg0sf9frmwfx2Ah054GGQa CS6I1QN4+80oO3B1shbWCGhcEwJP9OeL78roJAJW0SF4bynDVKDb73pzNZOFjkIqI3xy XZAZrDBMkMNsWE0lZRHPgUWIdx3W1pJrIII+oupub87Pn22cIFU5q4NxmXHwKFet7GsK U7vA== X-Gm-Message-State: AOJu0Yxa8xWSOdjxdGSRVuqZkqZnxM7uxRlW3DZGvEoPXyBw6W66WlOk 96axlyXmBUcssNN00/zDgcnMLr5UQxYXglutxcXmVtm0YmXFC4r/oFPxpCAh1UzCfHaAaAsWzv8 Q X-Google-Smtp-Source: AGHT+IFuwpBs2WYsOEZWrEx+0AxTW7fonzwUp7akhp0KYuP52eGWNR0a7Aubc1bpR2dh/gujHYrBzw== X-Received: by 2002:a17:903:244b:b0:207:6ef:d983 with SMTP id d9443c01a7336-2076e3f361amr345967555ad.39.1726605708696; Tue, 17 Sep 2024 13:41:48 -0700 (PDT) Received: from hermes.local (204-195-96-226.wavecable.com. [204.195.96.226]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-20794731afasm53830425ad.272.2024.09.17.13.41.48 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 17 Sep 2024 13:41:48 -0700 (PDT) From: Stephen Hemminger To: dev@dpdk.org Cc: Stephen Hemminger Subject: [PATCH v22 00/15] Logging improvements Date: Tue, 17 Sep 2024 13:35:42 -0700 Message-ID: <20240917203828.414701-1-stephen@networkplumber.org> X-Mailer: git-send-email 2.45.2 In-Reply-To: <20200814173441.23086-1-stephen@networkplumber.org> References: <20200814173441.23086-1-stephen@networkplumber.org> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 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 if output is going to a terminal. Add myself as maintainer for log because by now have added more than previous authors. v22 - rebase, rearrange some code to stifle some checkpatch complaints and add release notes Stephen Hemminger (15): maintainers: add for log library windows: make getopt functions have const properties windows: add os shim for localtime_r 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 doc: add release note about log library 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 | 72 ++++++ doc/guides/rel_notes/release_24_11.rst | 14 ++ lib/eal/common/eal_common_debug.c | 11 +- lib/eal/common/eal_common_options.c | 136 +++++++----- lib/eal/common/eal_options.h | 7 + lib/eal/freebsd/eal.c | 64 ++---- lib/eal/linux/eal.c | 68 ++---- lib/eal/windows/eal.c | 49 +--- lib/eal/windows/getopt.c | 23 +- lib/eal/windows/include/getopt.h | 8 +- lib/eal/windows/include/rte_os_shim.h | 10 + lib/log/log.c | 83 ++++--- lib/log/log_color.c | 148 ++++++++++++ lib/log/log_freebsd.c | 12 - lib/log/log_internal.h | 28 ++- lib/log/log_journal.c | 200 +++++++++++++++++ lib/log/log_linux.c | 61 ----- lib/log/log_private.h | 33 +++ lib/log/log_stubs.c | 37 +++ lib/log/log_syslog.c | 88 ++++++++ lib/log/log_timestamp.c | 210 ++++++++++++++++++ lib/log/log_windows.c | 18 -- lib/log/meson.build | 13 +- lib/log/version.map | 5 +- 27 files changed, 1113 insertions(+), 377 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.45.2