From: Stephen Hemminger <stephen@networkplumber.org>
To: dev@dpdk.org
Cc: "Stephen Hemminger" <stephen@networkplumber.org>,
"Morten Brørup" <mb@smartsharesystems.com>,
"Bruce Richardson" <bruce.richardson@intel.com>,
"Chengwen Feng" <fengchengwen@huawei.com>,
"Tyler Retzlaff" <roretzla@linux.microsoft.com>,
"Anatoly Burakov" <anatoly.burakov@intel.com>,
"Dmitry Kozlyuk" <dmitry.kozliuk@gmail.com>
Subject: [PATCH v28 07/13] log: rework syslog handling
Date: Thu, 24 Oct 2024 12:02:53 -0700 [thread overview]
Message-ID: <20241024190818.172863-8-stephen@networkplumber.org> (raw)
In-Reply-To: <20241024190818.172863-1-stephen@networkplumber.org>
Refactor how syslog is handled, make it common to Linux and FreeBSD
The syslog facility property is better handled in lib/log
rather than in eal. This also add syslog support to FreeBSD.
Log to syslog only if option is specified.
If no --syslog is given then use console only.
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Morten Brørup <mb@smartsharesystems.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Chengwen Feng <fengchengwen@huawei.com>
---
app/test/test_eal_flags.c | 16 +--
.../freebsd_gsg/freebsd_eal_parameters.rst | 27 +++++
.../prog_guide/env_abstraction_layer.rst | 6 +-
doc/guides/prog_guide/log_lib.rst | 5 +-
lib/eal/common/eal_common_options.c | 57 ++--------
lib/eal/common/eal_internal_cfg.h | 1 -
lib/eal/freebsd/eal.c | 5 +-
lib/eal/linux/eal.c | 12 +--
lib/eal/windows/eal.c | 6 +-
lib/log/log.c | 45 ++++----
lib/log/log_freebsd.c | 12 ---
lib/log/log_internal.h | 11 +-
lib/log/log_linux.c | 61 -----------
lib/log/log_private.h | 25 +++++
lib/log/log_syslog.c | 100 ++++++++++++++++++
lib/log/log_windows.c | 18 ----
lib/log/meson.build | 6 +-
lib/log/version.map | 2 +-
18 files changed, 211 insertions(+), 204 deletions(-)
delete mode 100644 lib/log/log_freebsd.c
delete mode 100644 lib/log/log_linux.c
create mode 100644 lib/log/log_private.h
create mode 100644 lib/log/log_syslog.c
delete mode 100644 lib/log/log_windows.c
diff --git a/app/test/test_eal_flags.c b/app/test/test_eal_flags.c
index 71d8dba731..9fcf0d56e6 100644
--- a/app/test/test_eal_flags.c
+++ b/app/test/test_eal_flags.c
@@ -985,12 +985,12 @@ test_misc_flags(void)
/* With -v */
const char *argv2[] = {prgname, prefix, mp_flag, "-v"};
/* With valid --syslog */
- const char *argv3[] = {prgname, prefix, mp_flag,
- "--syslog", "syslog"};
- /* With empty --syslog (should fail) */
+ const char *argv3[] = {prgname, prefix, mp_flag, "--syslog=user"};
+ /* With empty --syslog (now defaults) */
const char *argv4[] = {prgname, prefix, mp_flag, "--syslog"};
/* With invalid --syslog */
- const char *argv5[] = {prgname, prefix, mp_flag, "--syslog", "error"};
+ const char *argv5[] = {prgname, prefix, mp_flag, "--syslog=invalid"};
+
/* With no-sh-conf, also use no-huge to ensure this test runs on BSD */
const char *argv6[] = {prgname, "-m", DEFAULT_MEM_SIZE,
no_shconf, nosh_prefix, no_huge};
@@ -1080,15 +1080,15 @@ test_misc_flags(void)
#endif
if (launch_proc(argv3) != 0) {
- printf("Error - process did not run ok with --syslog flag\n");
+ printf("Error - process did not run ok with --syslog=user flag\n");
goto fail;
}
- if (launch_proc(argv4) == 0) {
- printf("Error - process run ok with empty --syslog flag\n");
+ if (launch_proc(argv4) != 0) {
+ printf("Error - process did not run ok with --syslog flag\n");
goto fail;
}
if (launch_proc(argv5) == 0) {
- printf("Error - process run ok with invalid --syslog flag\n");
+ printf("Error - process run ok with --syslog=invalid flag\n");
goto fail;
}
if (launch_proc(argv7) != 0) {
diff --git a/doc/guides/freebsd_gsg/freebsd_eal_parameters.rst b/doc/guides/freebsd_gsg/freebsd_eal_parameters.rst
index fba467a2ce..9270d9fa3b 100644
--- a/doc/guides/freebsd_gsg/freebsd_eal_parameters.rst
+++ b/doc/guides/freebsd_gsg/freebsd_eal_parameters.rst
@@ -18,3 +18,30 @@ FreeBSD-specific EAL parameters
-------------------------------
There are currently no FreeBSD-specific EAL command-line parameters available.
+
+Other options
+~~~~~~~~~~~~~
+
+* ``--syslog <syslog facility>``
+
+ Set syslog facility. Valid syslog facilities are::
+
+ auth
+ cron
+ daemon
+ ftp
+ kern
+ lpr
+ mail
+ news
+ syslog
+ user
+ uucp
+ local0
+ local1
+ local2
+ local3
+ local4
+ local5
+ local6
+ local7
diff --git a/doc/guides/prog_guide/env_abstraction_layer.rst b/doc/guides/prog_guide/env_abstraction_layer.rst
index b9fac1839d..9bafa30a0e 100644
--- a/doc/guides/prog_guide/env_abstraction_layer.rst
+++ b/doc/guides/prog_guide/env_abstraction_layer.rst
@@ -851,9 +851,9 @@ Signal Safety
Other functions are not signal safe because they use one or more
library routines that are not themselves signal safe.
For example, calling ``rte_panic()`` is not safe in a signal handler
- because it uses ``rte_log()`` and ``rte_log()`` calls the
- ``syslog()`` library function which is in the list of
- signal safe functions in
+ because it uses ``rte_log()`` and ``rte_log()`` may call ``vfprintf()`` or
+ ``syslog()`` library functions which are not in the list of
+ signal safe functions
`Signal-Safety manual page <https://man7.org/linux/man-pages/man7/signal-safety.7.html>`_.
The set of functions that are expected to be async-signal-safe in DPDK
diff --git a/doc/guides/prog_guide/log_lib.rst b/doc/guides/prog_guide/log_lib.rst
index ff9d1b54a2..c87830ac00 100644
--- a/doc/guides/prog_guide/log_lib.rst
+++ b/doc/guides/prog_guide/log_lib.rst
@@ -5,9 +5,7 @@ Log Library
===========
The DPDK Log library provides the logging functionality for other DPDK libraries and drivers.
-By default, in a Linux application, logs are sent to syslog and also to the console.
-On FreeBSD and Windows applications, logs are sent only to the console.
-However, the log function can be overridden by the user to use a different logging mechanism.
+The messages can be sent to one or more sources controlled by the EAL command line options.
Log Levels
----------
@@ -59,6 +57,7 @@ For example::
Within an application, the same result can be got using the ``rte_log_set_level_pattern()`` or ``rte_log_set_level_regex()`` APIs.
+
Using Logging APIs to Generate Log Messages
-------------------------------------------
diff --git a/lib/eal/common/eal_common_options.c b/lib/eal/common/eal_common_options.c
index eb079a65a9..ca7b702e03 100644
--- a/lib/eal/common/eal_common_options.c
+++ b/lib/eal/common/eal_common_options.c
@@ -6,9 +6,6 @@
#include <stdlib.h>
#include <string.h>
#include <pthread.h>
-#ifndef RTE_EXEC_ENV_WINDOWS
-#include <syslog.h>
-#endif
#include <ctype.h>
#include <limits.h>
#include <errno.h>
@@ -93,7 +90,9 @@ eal_long_options[] = {
{OPT_PROC_TYPE, 1, NULL, OPT_PROC_TYPE_NUM },
{OPT_SOCKET_MEM, 1, NULL, OPT_SOCKET_MEM_NUM },
{OPT_SOCKET_LIMIT, 1, NULL, OPT_SOCKET_LIMIT_NUM },
- {OPT_SYSLOG, 1, NULL, OPT_SYSLOG_NUM },
+#ifndef RTE_EXEC_ENV_WINDOWS
+ {OPT_SYSLOG, 2, NULL, OPT_SYSLOG_NUM },
+#endif
{OPT_VDEV, 1, NULL, OPT_VDEV_NUM },
{OPT_VFIO_INTR, 1, NULL, OPT_VFIO_INTR_NUM },
{OPT_VFIO_VF_TOKEN, 1, NULL, OPT_VFIO_VF_TOKEN_NUM },
@@ -349,10 +348,6 @@ eal_reset_internal_config(struct internal_config *internal_cfg)
}
internal_cfg->base_virtaddr = 0;
-#ifdef LOG_DAEMON
- internal_cfg->syslog_facility = LOG_DAEMON;
-#endif
-
/* if set to NONE, interrupt mode is determined automatically */
internal_cfg->vfio_intr_mode = RTE_INTR_MODE_NONE;
memset(internal_cfg->vfio_vf_token, 0,
@@ -1297,47 +1292,6 @@ eal_parse_lcores(const char *lcores)
return ret;
}
-#ifndef RTE_EXEC_ENV_WINDOWS
-static int
-eal_parse_syslog(const char *facility, struct internal_config *conf)
-{
- int i;
- static const struct {
- const char *name;
- int value;
- } map[] = {
- { "auth", LOG_AUTH },
- { "cron", LOG_CRON },
- { "daemon", LOG_DAEMON },
- { "ftp", LOG_FTP },
- { "kern", LOG_KERN },
- { "lpr", LOG_LPR },
- { "mail", LOG_MAIL },
- { "news", LOG_NEWS },
- { "syslog", LOG_SYSLOG },
- { "user", LOG_USER },
- { "uucp", LOG_UUCP },
- { "local0", LOG_LOCAL0 },
- { "local1", LOG_LOCAL1 },
- { "local2", LOG_LOCAL2 },
- { "local3", LOG_LOCAL3 },
- { "local4", LOG_LOCAL4 },
- { "local5", LOG_LOCAL5 },
- { "local6", LOG_LOCAL6 },
- { "local7", LOG_LOCAL7 },
- { NULL, 0 }
- };
-
- for (i = 0; map[i].name; i++) {
- if (!strcmp(facility, map[i].name)) {
- conf->syslog_facility = map[i].value;
- return 0;
- }
- }
- return -1;
-}
-#endif
-
static void
eal_log_usage(void)
{
@@ -1663,6 +1617,7 @@ eal_log_level_parse(int argc, char * const argv[])
switch (opt) {
case OPT_LOG_LEVEL_NUM:
+ case OPT_SYSLOG_NUM:
if (eal_parse_common_option(opt, optarg, internal_conf) < 0)
return -1;
break;
@@ -1877,7 +1832,7 @@ eal_parse_common_option(int opt, const char *optarg,
#ifndef RTE_EXEC_ENV_WINDOWS
case OPT_SYSLOG_NUM:
- if (eal_parse_syslog(optarg, conf) < 0) {
+ if (eal_log_syslog(optarg) < 0) {
EAL_LOG(ERR, "invalid parameters for --"
OPT_SYSLOG);
return -1;
@@ -2254,7 +2209,7 @@ eal_common_usage(void)
" --"OPT_VMWARE_TSC_MAP" Use VMware TSC map instead of native RDTSC\n"
" --"OPT_PROC_TYPE" Type of this process (primary|secondary|auto)\n"
#ifndef RTE_EXEC_ENV_WINDOWS
- " --"OPT_SYSLOG" Set syslog facility\n"
+ " --"OPT_SYSLOG"[=<when>] Enable use of syslog\n"
#endif
" --"OPT_LOG_LEVEL"=<level> Set global log level\n"
" --"OPT_LOG_LEVEL"=<type-match>:<level>\n"
diff --git a/lib/eal/common/eal_internal_cfg.h b/lib/eal/common/eal_internal_cfg.h
index 167ec501fa..f53ab8b4aa 100644
--- a/lib/eal/common/eal_internal_cfg.h
+++ b/lib/eal/common/eal_internal_cfg.h
@@ -84,7 +84,6 @@ struct internal_config {
/**< true if storing all pages within single files (per-page-size,
* per-node) non-legacy mode only.
*/
- volatile int syslog_facility; /**< facility passed to openlog() */
/** default interrupt mode for VFIO */
volatile enum rte_intr_mode vfio_intr_mode;
/** the shared VF token for VFIO-PCI bound PF and VFs devices */
diff --git a/lib/eal/freebsd/eal.c b/lib/eal/freebsd/eal.c
index 7b974608e4..a609d40ee0 100644
--- a/lib/eal/freebsd/eal.c
+++ b/lib/eal/freebsd/eal.c
@@ -11,7 +11,6 @@
#include <stdarg.h>
#include <unistd.h>
#include <pthread.h>
-#include <syslog.h>
#include <getopt.h>
#include <sys/file.h>
#include <stddef.h>
@@ -392,8 +391,8 @@ eal_parse_args(int argc, char **argv)
goto out;
}
- /* eal_log_level_parse() already handled this option */
- if (opt == OPT_LOG_LEVEL_NUM)
+ /* eal_log_level_parse() already handled these */
+ if (opt == OPT_LOG_LEVEL_NUM || opt == OPT_LOG_SYSLOG_NUM)
continue;
ret = eal_parse_common_option(opt, optarg, internal_conf);
diff --git a/lib/eal/linux/eal.c b/lib/eal/linux/eal.c
index c53a051405..0c44d0b6e3 100644
--- a/lib/eal/linux/eal.c
+++ b/lib/eal/linux/eal.c
@@ -610,8 +610,8 @@ eal_parse_args(int argc, char **argv)
goto out;
}
- /* eal_log_level_parse() already handled this option */
- if (opt == OPT_LOG_LEVEL_NUM)
+ /* eal_log_level_parse() already handled these options */
+ if (opt == OPT_LOG_LEVEL_NUM || opt == OPT_SYSLOG_NUM)
continue;
ret = eal_parse_common_option(opt, optarg, internal_conf);
@@ -1103,13 +1103,7 @@ rte_eal_init(int argc, char **argv)
#endif
}
- if (eal_log_init(program_invocation_short_name,
- internal_conf->syslog_facility) < 0) {
- rte_eal_init_alert("Cannot init logging.");
- rte_errno = ENOMEM;
- rte_atomic_store_explicit(&run_once, 0, rte_memory_order_relaxed);
- return -1;
- }
+ eal_log_init(program_invocation_short_name);
#ifdef VFIO_PRESENT
if (rte_vfio_enable("vfio")) {
diff --git a/lib/eal/windows/eal.c b/lib/eal/windows/eal.c
index 93f099a968..cd8420a82c 100644
--- a/lib/eal/windows/eal.c
+++ b/lib/eal/windows/eal.c
@@ -120,8 +120,8 @@ eal_parse_args(int argc, char **argv)
return -1;
}
- /* eal_log_level_parse() already handled this option */
- if (opt == OPT_LOG_LEVEL_NUM)
+ /* eal_log_level_parse() already handled these options */
+ if (opt == OPT_LOG_LEVEL_NUM || opt == OPT_SYSLOG_NUM)
continue;
ret = eal_parse_common_option(opt, optarg, internal_conf);
@@ -249,7 +249,7 @@ rte_eal_init(int argc, char **argv)
char cpuset[RTE_CPU_AFFINITY_STR_LEN];
char thread_name[RTE_THREAD_NAME_SIZE];
- eal_log_init(NULL, 0);
+ eal_log_init(NULL);
eal_log_level_parse(argc, argv);
diff --git a/lib/log/log.c b/lib/log/log.c
index 7416c82b34..feadcd6848 100644
--- a/lib/log/log.c
+++ b/lib/log/log.c
@@ -2,6 +2,7 @@
* Copyright(c) 2010-2014 Intel Corporation
*/
+#include <stdbool.h>
#include <stdio.h>
#include <stdint.h>
#include <stdarg.h>
@@ -11,14 +12,18 @@
#include <regex.h>
#include <fnmatch.h>
#include <sys/queue.h>
+#include <unistd.h>
+#include <rte_common.h>
#include <rte_log.h>
#include <rte_per_lcore.h>
+
#ifdef RTE_EXEC_ENV_WINDOWS
#include <rte_os_shim.h>
#endif
#include "log_internal.h"
+#include "log_private.h"
struct rte_log_dynamic_type {
const char *name;
@@ -54,9 +59,6 @@ TAILQ_HEAD(rte_eal_opt_loglevel_list, rte_eal_opt_loglevel);
static struct rte_eal_opt_loglevel_list opt_loglevel_list =
TAILQ_HEAD_INITIALIZER(opt_loglevel_list);
-/* Stream to use for logging if rte_logs.file is NULL */
-static FILE *default_log_stream;
-
/**
* This global structure stores some information about the message
* that is currently being processed by one lcore
@@ -69,8 +71,6 @@ struct log_cur_msg {
/* per core log */
static RTE_DEFINE_PER_LCORE(struct log_cur_msg, log_cur_msg);
-/* default logs */
-
/* Change the stream that will be used by logging system */
int
rte_openlog_stream(FILE *f)
@@ -84,17 +84,7 @@ rte_log_get_stream(void)
{
FILE *f = rte_logs.file;
- if (f == NULL) {
- /*
- * Grab the current value of stderr here, rather than
- * just initializing default_log_stream to stderr. This
- * ensures that we will always use the current value
- * of stderr, even if the application closes and
- * reopens it.
- */
- return default_log_stream != NULL ? default_log_stream : stderr;
- }
- return f;
+ return (f == NULL) ? stderr : f;
}
/* Set global log level */
@@ -505,12 +495,18 @@ rte_log(uint32_t level, uint32_t logtype, const char *format, ...)
}
/*
- * Called by environment-specific initialization functions.
+ * Called by rte_eal_init
*/
void
-eal_log_set_default(FILE *default_log)
+eal_log_init(const char *id)
{
- default_log_stream = default_log;
+ FILE *logf = NULL;
+
+ if (log_syslog_enabled())
+ logf = log_syslog_open(id);
+
+ if (logf)
+ rte_openlog_stream(logf);
#if RTE_LOG_DP_LEVEL >= RTE_LOG_DEBUG
RTE_LOG(NOTICE, EAL,
@@ -524,8 +520,11 @@ eal_log_set_default(FILE *default_log)
void
rte_eal_log_cleanup(void)
{
- if (default_log_stream) {
- fclose(default_log_stream);
- default_log_stream = NULL;
- }
+ FILE *log_stream = rte_logs.file;
+
+ /* don't close stderr on the application */
+ if (log_stream != NULL)
+ fclose(log_stream);
+
+ rte_logs.file = NULL;
}
diff --git a/lib/log/log_freebsd.c b/lib/log/log_freebsd.c
deleted file mode 100644
index 698d3c5423..0000000000
--- a/lib/log/log_freebsd.c
+++ /dev/null
@@ -1,12 +0,0 @@
-/* SPDX-License-Identifier: BSD-3-Clause
- * Copyright(c) 2023 Intel Corporation
- */
-
-#include <rte_common.h>
-#include "log_internal.h"
-
-int
-eal_log_init(__rte_unused const char *id, __rte_unused int facility)
-{
- return 0;
-}
diff --git a/lib/log/log_internal.h b/lib/log/log_internal.h
index 451629f1c1..3c46328e7b 100644
--- a/lib/log/log_internal.h
+++ b/lib/log/log_internal.h
@@ -14,13 +14,7 @@
* Initialize the default log stream.
*/
__rte_internal
-int eal_log_init(const char *id, int facility);
-
-/*
- * Determine where log data is written when no call to rte_openlog_stream.
- */
-__rte_internal
-void eal_log_set_default(FILE *default_log);
+void eal_log_init(const char *id);
/*
* Save a log option for later.
@@ -30,6 +24,9 @@ int eal_log_save_regexp(const char *regexp, uint32_t level);
__rte_internal
int eal_log_save_pattern(const char *pattern, uint32_t level);
+__rte_internal
+int eal_log_syslog(const char *name);
+
/*
* Convert log level to string.
*/
diff --git a/lib/log/log_linux.c b/lib/log/log_linux.c
deleted file mode 100644
index 2dfb0c974b..0000000000
--- a/lib/log/log_linux.c
+++ /dev/null
@@ -1,61 +0,0 @@
-/* SPDX-License-Identifier: BSD-3-Clause
- * Copyright(c) 2010-2014 Intel Corporation
- */
-
-#include <stdio.h>
-#include <sys/types.h>
-#include <syslog.h>
-
-#include <rte_log.h>
-
-#include "log_internal.h"
-
-/*
- * default log function
- */
-static ssize_t
-console_log_write(__rte_unused void *c, const char *buf, size_t size)
-{
- ssize_t ret;
-
- /* write on stderr */
- ret = fwrite(buf, 1, size, stderr);
- fflush(stderr);
-
- /* Syslog error levels are from 0 to 7, so subtract 1 to convert */
- syslog(rte_log_cur_msg_loglevel() - 1, "%.*s", (int)size, buf);
-
- return ret;
-}
-
-static int
-console_log_close(__rte_unused void *c)
-{
- closelog();
- return 0;
-}
-
-static cookie_io_functions_t console_log_func = {
- .write = console_log_write,
- .close = console_log_close,
-};
-
-/*
- * set the log to default function, called during eal init process,
- * once memzones are available.
- */
-int
-eal_log_init(const char *id, int facility)
-{
- FILE *log_stream;
-
- log_stream = fopencookie(NULL, "w+", console_log_func);
- if (log_stream == NULL)
- return -1;
-
- openlog(id, LOG_NDELAY | LOG_PID, facility);
-
- eal_log_set_default(log_stream);
-
- return 0;
-}
diff --git a/lib/log/log_private.h b/lib/log/log_private.h
new file mode 100644
index 0000000000..bf87b43f7e
--- /dev/null
+++ b/lib/log/log_private.h
@@ -0,0 +1,25 @@
+/* SPDX-License-Identifier: BSD-3-Clause */
+
+#ifndef LOG_PRIVATE_H
+#define LOG_PRIVATE_H
+
+/* Defined in limits.h on Linux */
+#ifndef LINE_MAX
+#define LINE_MAX 2048 /* _POSIX2_LINE_MAX */
+#endif
+
+#ifdef RTE_EXEC_ENV_WINDOWS
+static inline bool log_syslog_enabled(void)
+{
+ return false;
+}
+static inline FILE *log_syslog_open(const char *id __rte_unused)
+{
+ return NULL;
+}
+#else
+bool log_syslog_enabled(void);
+FILE *log_syslog_open(const char *id);
+#endif
+
+#endif /* LOG_PRIVATE_H */
diff --git a/lib/log/log_syslog.c b/lib/log/log_syslog.c
new file mode 100644
index 0000000000..7d29e3a00f
--- /dev/null
+++ b/lib/log/log_syslog.c
@@ -0,0 +1,100 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(c) 2010-2014 Intel Corporation
+ */
+
+#include <stdio.h>
+#include <string.h>
+#include <sys/types.h>
+#include <stdbool.h>
+#include <stdio.h>
+#include <string.h>
+#include <syslog.h>
+
+#include <rte_common.h>
+#include <rte_log.h>
+
+#include "log_internal.h"
+#include "log_private.h"
+
+static int log_facility;
+
+static const struct {
+ const char *name;
+ int value;
+} facilitys[] = {
+ { "auth", LOG_AUTH },
+ { "cron", LOG_CRON },
+ { "daemon", LOG_DAEMON },
+ { "ftp", LOG_FTP },
+ { "kern", LOG_KERN },
+ { "lpr", LOG_LPR },
+ { "mail", LOG_MAIL },
+ { "news", LOG_NEWS },
+ { "syslog", LOG_SYSLOG },
+ { "user", LOG_USER },
+ { "uucp", LOG_UUCP },
+ { "local0", LOG_LOCAL0 },
+ { "local1", LOG_LOCAL1 },
+ { "local2", LOG_LOCAL2 },
+ { "local3", LOG_LOCAL3 },
+ { "local4", LOG_LOCAL4 },
+ { "local5", LOG_LOCAL5 },
+ { "local6", LOG_LOCAL6 },
+ { "local7", LOG_LOCAL7 },
+};
+
+int
+eal_log_syslog(const char *name)
+{
+ unsigned int i;
+
+ for (i = 0; i < RTE_DIM(facilitys); i++) {
+ if (!strcmp(name, facilitys[i].name)) {
+ log_facility = facilitys[i].value;
+ return 0;
+ }
+ }
+ return -1;
+}
+
+/* syslog is enabled if facility is set */
+bool log_syslog_enabled(void)
+{
+ return log_facility != 0; /* LOG_KERN is 0 */
+}
+
+/*
+ * default log function
+ */
+static ssize_t
+log_syslog_write(__rte_unused void *c, const char *buf, size_t size)
+{
+ /* Syslog error levels are from 0 to 7, so subtract 1 to convert */
+ syslog(rte_log_cur_msg_loglevel() - 1, "%.*s", (int)size, buf);
+
+ return size;
+}
+
+static int
+log_syslog_close(__rte_unused void *c)
+{
+ closelog();
+ return 0;
+}
+
+static cookie_io_functions_t log_syslog_func = {
+ .write = log_syslog_write,
+ .close = log_syslog_close,
+};
+
+
+FILE *
+log_syslog_open(const char *id)
+{
+ int option = LOG_CONS | LOG_NDELAY | LOG_PID | LOG_PERROR;
+
+ openlog(id, option, log_facility);
+
+ /* redirect other log messages to syslog as well */
+ return fopencookie(NULL, "w", log_syslog_func);
+}
diff --git a/lib/log/log_windows.c b/lib/log/log_windows.c
deleted file mode 100644
index a6a0889550..0000000000
--- a/lib/log/log_windows.c
+++ /dev/null
@@ -1,18 +0,0 @@
-/* SPDX-License-Identifier: BSD-3-Clause
- * Copyright(c) 2017-2018 Intel Corporation
- */
-
-#include <rte_common.h>
-#include <rte_log.h>
-#include "log_internal.h"
-
-/* set the log to default function, called during eal init process. */
-int
-eal_log_init(__rte_unused const char *id, __rte_unused int facility)
-{
- rte_openlog_stream(stderr);
-
- eal_log_set_default(stderr);
-
- return 0;
-}
diff --git a/lib/log/meson.build b/lib/log/meson.build
index 0d4319b36f..160cf34f50 100644
--- a/lib/log/meson.build
+++ b/lib/log/meson.build
@@ -4,6 +4,10 @@
includes += global_inc
sources = files(
'log.c',
- 'log_' + exec_env + '.c',
)
+
+if not is_windows
+ sources += files('log_syslog.c')
+endif
+
headers = files('rte_log.h')
diff --git a/lib/log/version.map b/lib/log/version.map
index 19d7f9cdb6..1637fba3b9 100644
--- a/lib/log/version.map
+++ b/lib/log/version.map
@@ -29,6 +29,6 @@ INTERNAL {
eal_log_level2str;
eal_log_save_pattern;
eal_log_save_regexp;
- eal_log_set_default;
+ eal_log_syslog; # WINDOWS_NO_EXPORT
rte_eal_log_cleanup;
};
--
2.45.2
next prev parent reply other threads:[~2024-10-24 19:09 UTC|newest]
Thread overview: 486+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-08-14 17:34 [dpdk-dev] [PATCH] eal: add option to put timestamp on console output Stephen Hemminger
2020-08-14 18:39 ` Dmitry Kozlyuk
2020-08-14 18:45 ` Stephen Hemminger
2020-08-14 19:09 ` Dmitry Kozlyuk
2020-08-14 19:20 ` Stephen Hemminger
2020-08-17 10:37 ` Bruce Richardson
2020-08-17 15:11 ` Stephen Hemminger
2020-10-19 14:11 ` Thomas Monjalon
2020-10-19 15:25 ` Stephen Hemminger
2024-03-21 17:22 ` Thomas Monjalon
2023-03-06 18:18 ` [PATCH v2 0/2] Add option to timestamp console log Stephen Hemminger
2023-03-06 18:18 ` [PATCH v2 1/2] eal: unify logging code for FreeBsd and Linux Stephen Hemminger
2023-03-06 18:18 ` [PATCH v2 2/2] eal: add option to put timestamp on console output Stephen Hemminger
2023-03-07 9:09 ` [PATCH v2 0/2] Add option to timestamp console log Bruce Richardson
2023-03-06 19:28 ` [PATCH v3 " Stephen Hemminger
2023-03-06 19:28 ` [PATCH v3 1/2] eal: unify logging code for FreeBsd and Linux Stephen Hemminger
2023-03-06 19:28 ` [PATCH v3 2/2] eal: add option to put timestamp on console output Stephen Hemminger
2023-03-07 9:35 ` fengchengwen
2023-03-07 16:05 ` Stephen Hemminger
2023-03-07 16:06 ` Stephen Hemminger
2023-03-08 0:36 ` fengchengwen
2023-03-08 2:03 ` Stephen Hemminger
2023-03-09 0:55 ` fengchengwen
2023-03-08 2:51 ` Stephen Hemminger
2023-03-07 7:33 ` [PATCH v3 0/2] Add option to timestamp console log Morten Brørup
2023-03-07 9:12 ` Bruce Richardson
2023-03-07 16:04 ` Stephen Hemminger
2023-06-26 18:42 ` [PATCH v4 0/5] Logging related patchs Stephen Hemminger
2023-06-26 18:42 ` [PATCH v4 1/5] eal: unify logging code for FreeBsd and Linux Stephen Hemminger
2023-06-26 18:42 ` [PATCH v4 2/5] eal: turn off getopt_long error message during eal_log_level Stephen Hemminger
2023-06-26 18:42 ` [PATCH v4 3/5] eal: skip stdio on console logging Stephen Hemminger
2023-06-26 18:42 ` [PATCH v4 4/5] eal: move logging initialization earlier Stephen Hemminger
2023-06-26 18:42 ` [PATCH v4 5/5] eal: add option to put timestamp on console output Stephen Hemminger
2023-06-27 7:40 ` [PATCH v4 0/5] Logging related patchs Morten Brørup
2023-06-27 14:49 ` Stephen Hemminger
2023-06-27 15:04 ` Morten Brørup
2023-06-27 15:02 ` Bruce Richardson
2023-06-28 17:58 ` [PATCH v5 0/6] Logging related patches Stephen Hemminger
2023-06-28 17:58 ` [PATCH v5 1/6] eal: unify logging code for FreeBsd and Linux Stephen Hemminger
2023-06-28 17:58 ` [PATCH v5 2/6] eal: turn off getopt_long error message during eal_log_level Stephen Hemminger
2023-06-28 17:58 ` [PATCH v5 3/6] eal: fix handling of syslog facility Stephen Hemminger
2023-06-28 17:58 ` [PATCH v5 4/6] eal: skip stdio on console logging Stephen Hemminger
2023-06-28 17:58 ` [PATCH v5 5/6] eal: allow user to set default log stream before init Stephen Hemminger
2023-06-28 17:58 ` [PATCH v5 6/6] eal: add option to put timestamp on console output Stephen Hemminger
2023-06-29 15:58 ` [PATCH v6 0/6] Logging related patches Stephen Hemminger
2023-06-29 15:58 ` [PATCH v6 1/6] eal: unify logging code Stephen Hemminger
2023-06-29 15:58 ` [PATCH v6 2/6] eal: turn off getopt_long error message during eal_log_level Stephen Hemminger
2023-06-29 15:58 ` [PATCH v6 3/6] eal: fix help message for syslog option Stephen Hemminger
2023-06-29 15:58 ` [PATCH v6 4/6] eal: skip stdio on console logging Stephen Hemminger
2023-06-29 15:58 ` [PATCH v6 5/6] eal: allow user to set default log stream before init Stephen Hemminger
2023-06-29 15:58 ` [PATCH v6 6/6] eal: add option to put timestamp on console output Stephen Hemminger
2023-07-05 22:48 ` [PATCH v7 0/5] Logging timetamp and related patches Stephen Hemminger
2023-07-05 22:48 ` [PATCH v7 1/5] windows: make getopt functions have const properties Stephen Hemminger
2023-07-10 21:10 ` Tyler Retzlaff
2023-07-05 22:48 ` [PATCH v7 2/5] eal: fix help message for syslog option Stephen Hemminger
2023-07-05 22:48 ` [PATCH v7 3/5] eal: unify logging code Stephen Hemminger
2023-07-05 22:48 ` [PATCH v7 4/5] eal: allow user to set default log stream before init Stephen Hemminger
2023-07-05 22:48 ` [PATCH v7 5/5] eal: add option to put timestamp on console output Stephen Hemminger
2024-03-18 18:30 ` [PATCH v8 0/5] Logging timestamp and related patches Stephen Hemminger
2024-03-18 18:30 ` [PATCH v8 1/5] log: unify logging code Stephen Hemminger
2024-03-18 18:30 ` [PATCH v8 2/5] eal: make eal_log_level_parse common Stephen Hemminger
2024-03-18 18:30 ` [PATCH v8 3/5] eal: allow user to set default log stream before init Stephen Hemminger
2024-03-18 18:30 ` [PATCH v8 4/5] eal: add option to put timestamp on console output Stephen Hemminger
2024-03-18 18:30 ` [PATCH v8 5/5] eal: initialize logging before plugins Stephen Hemminger
2024-03-18 22:02 ` [PATCH v9 0/5] Logging unification and timestamp Stephen Hemminger
2024-03-18 22:02 ` [PATCH v9 1/5] log: unify logging code Stephen Hemminger
2024-03-18 22:02 ` [PATCH v9 2/5] eal: make eal_log_level_parse common Stephen Hemminger
2024-03-18 22:02 ` [PATCH v9 3/5] eal: initialize logging before plugins Stephen Hemminger
2024-03-18 22:03 ` [PATCH v9 4/5] eal: allow user to set default log stream before init Stephen Hemminger
2024-03-18 22:03 ` [PATCH v9 5/5] eal: add option to put timestamp on console output Stephen Hemminger
2024-03-19 7:37 ` Morten Brørup
2024-03-19 15:51 ` Stephen Hemminger
2024-03-19 16:13 ` Morten Brørup
2024-03-20 3:33 ` Stephen Hemminger
2024-03-20 8:34 ` Morten Brørup
2024-03-20 14:38 ` Stephen Hemminger
2024-03-20 17:38 ` Morten Brørup
2024-03-21 16:00 ` [PATCH v10 00/10] Logging enhancements Stephen Hemminger
2024-03-21 16:00 ` [PATCH v10 01/10] windows: make getopt functions have const properties Stephen Hemminger
2024-03-21 16:00 ` [PATCH v10 02/10] log: unify logging code Stephen Hemminger
2024-03-21 16:00 ` [PATCH v10 03/10] eal: make eal_log_level_parse common Stephen Hemminger
2024-03-21 17:00 ` Tyler Retzlaff
2024-03-21 16:00 ` [PATCH v10 04/10] eal: initialize log earlier in startup Stephen Hemminger
2024-03-21 16:00 ` [PATCH v10 05/10] eal: do not duplicate rte_init_alert() messages Stephen Hemminger
2024-03-21 16:00 ` [PATCH v10 06/10] eal: change rte_exit() output to match rte_log() Stephen Hemminger
2024-03-21 17:04 ` Tyler Retzlaff
2024-03-21 16:00 ` [PATCH v10 07/10] eal: allow user to set default log stream before init Stephen Hemminger
2024-03-21 17:07 ` Tyler Retzlaff
2024-03-21 16:00 ` [PATCH v10 08/10] eal: add option to put timestamp on console output Stephen Hemminger
2024-03-21 17:11 ` Tyler Retzlaff
2024-03-21 17:16 ` Stephen Hemminger
2024-03-21 17:49 ` Tyler Retzlaff
2024-03-22 0:30 ` Stephen Hemminger
2024-03-21 16:00 ` [PATCH v10 09/10] log: colorize log output Stephen Hemminger
2024-03-21 16:00 ` [PATCH v10 10/10] doc: add documentation of logging options Stephen Hemminger
2024-03-24 2:33 ` [PATCH v11 0/9] Logging unification and enhancements Stephen Hemminger
2024-03-24 2:33 ` [PATCH v11 1/9] windows: make getopt functions have const properties Stephen Hemminger
2024-03-24 2:33 ` [PATCH v11 2/9] eal: make eal_log_level_parse common Stephen Hemminger
2024-03-24 2:33 ` [PATCH v11 3/9] eal: do not duplicate rte_init_alert() messages Stephen Hemminger
2024-03-24 2:33 ` [PATCH v11 4/9] eal: change rte_exit() output to match rte_log() Stephen Hemminger
2024-03-24 2:33 ` [PATCH v11 5/9] log: drop syslog support, and make code common Stephen Hemminger
2024-03-24 2:33 ` [PATCH v11 6/9] log: add hook for printing log messages Stephen Hemminger
2024-03-24 2:33 ` [PATCH v11 7/9] log: add timestamp option Stephen Hemminger
2024-03-24 2:33 ` [PATCH v11 8/9] log: add support for systemd journal Stephen Hemminger
2024-03-24 2:33 ` [PATCH v11 9/9] log: colorize log output Stephen Hemminger
2024-03-24 11:18 ` [PATCH v11 0/9] Logging unification and enhancements Mattias Rönnblom
2024-03-25 20:46 ` [PATCH v12 00/14] " Stephen Hemminger
2024-03-25 20:46 ` [PATCH v12 01/14] windows: make getopt functions have const properties Stephen Hemminger
2024-03-25 20:46 ` [PATCH v12 02/14] windows: add os shim for localtime_r Stephen Hemminger
2024-03-25 20:47 ` [PATCH v12 03/14] eal: make eal_log_level_parse common Stephen Hemminger
2024-03-25 20:47 ` [PATCH v12 04/14] eal: do not duplicate rte_init_alert() messages Stephen Hemminger
2024-03-25 20:47 ` [PATCH v12 05/14] eal: change rte_exit() output to match rte_log() Stephen Hemminger
2024-03-27 7:17 ` Tyler Retzlaff
2024-03-25 20:47 ` [PATCH v12 06/14] log: move handling of syslog facility out of eal Stephen Hemminger
2024-03-25 20:47 ` [PATCH v12 07/14] eal: initialize log before everything else Stephen Hemminger
2024-03-25 20:47 ` [PATCH v12 08/14] log: drop syslog support, and make code common Stephen Hemminger
2024-03-25 20:47 ` [PATCH v12 09/14] log: add hook for printing log messages Stephen Hemminger
2024-03-25 20:47 ` [PATCH v12 10/14] log: add timestamp option Stephen Hemminger
2024-03-25 20:47 ` [PATCH v12 11/14] log: add optional support of syslog Stephen Hemminger
2024-03-25 20:47 ` [PATCH v12 12/14] log: add support for systemd journal Stephen Hemminger
2024-03-25 20:47 ` [PATCH v12 13/14] log: colorize log output Stephen Hemminger
2024-03-25 20:47 ` [PATCH v12 14/14] maintainers: add for log library Stephen Hemminger
2024-03-26 1:56 ` [PATCH v13 00/11] Logging unification and improvements Stephen Hemminger
2024-03-26 1:56 ` [PATCH v13 01/11] windows: make getopt functions have const properties Stephen Hemminger
2024-03-26 9:35 ` Morten Brørup
2024-03-26 1:56 ` [PATCH v13 02/11] windows: add os shim for localtime_r Stephen Hemminger
2024-03-26 1:56 ` [PATCH v13 03/11] eal: make eal_log_level_parse common Stephen Hemminger
2024-03-26 1:56 ` [PATCH v13 04/11] eal: do not duplicate rte_init_alert() messages Stephen Hemminger
2024-03-26 1:57 ` [PATCH v13 05/11] eal: change rte_exit() output to match rte_log() Stephen Hemminger
2024-03-26 1:57 ` [PATCH v13 06/11] log: move handling of syslog facility out of eal Stephen Hemminger
2024-03-26 1:57 ` [PATCH v13 07/11] eal: initialize log before everything else Stephen Hemminger
2024-03-26 1:57 ` [PATCH v13 08/11] log: drop syslog support, and make code common Stephen Hemminger
2024-03-26 1:57 ` [PATCH v13 09/11] log: add hook for printing log messages Stephen Hemminger
2024-03-26 1:57 ` [PATCH v13 10/11] log: add timestamp option Stephen Hemminger
2024-03-26 1:57 ` [PATCH v13 11/11] log: add optional support of syslog Stephen Hemminger
2024-03-26 17:34 ` [PATCH v14 00/15] Logging unification and improvments Stephen Hemminger
2024-03-26 17:34 ` [PATCH v14 01/15] maintainers: add for log library Stephen Hemminger
2024-03-26 17:34 ` [PATCH v14 02/15] windows: make getopt functions have const properties Stephen Hemminger
2024-03-26 17:34 ` [PATCH v14 03/15] windows: add os shim for localtime_r Stephen Hemminger
2024-03-26 17:34 ` [PATCH v14 04/15] windows: common wrapper for vasprintf and asprintf Stephen Hemminger
2024-03-26 17:34 ` [PATCH v14 05/15] eal: make eal_log_level_parse common Stephen Hemminger
2024-03-26 17:34 ` [PATCH v14 06/15] eal: do not duplicate rte_init_alert() messages Stephen Hemminger
2024-03-26 17:34 ` [PATCH v14 07/15] eal: change rte_exit() output to match rte_log() Stephen Hemminger
2024-03-26 17:34 ` [PATCH v14 08/15] log: move handling of syslog facility out of eal Stephen Hemminger
2024-03-26 17:34 ` [PATCH v14 09/15] eal: initialize log before everything else Stephen Hemminger
2024-03-26 17:34 ` [PATCH v14 10/15] log: drop syslog support, and make code common Stephen Hemminger
2024-03-26 17:34 ` [PATCH v14 11/15] log: add hook for printing log messages Stephen Hemminger
2024-03-26 17:34 ` [PATCH v14 12/15] log: add timestamp option Stephen Hemminger
2024-03-26 17:34 ` [PATCH v14 13/15] log: add optional support of syslog Stephen Hemminger
2024-03-26 17:34 ` [PATCH v14 14/15] log: add support for systemd journal Stephen Hemminger
2024-03-26 17:34 ` [PATCH v14 15/15] log: colorize log output Stephen Hemminger
2024-03-27 0:26 ` [PATCH v15 00/15] Logging unification and improvements Stephen Hemminger
2024-03-27 0:27 ` [PATCH v15 01/15] maintainers: add for log library Stephen Hemminger
2024-03-27 0:27 ` [PATCH v15 02/15] windows: make getopt functions have const properties Stephen Hemminger
2024-03-27 0:27 ` [PATCH v15 03/15] windows: add os shim for localtime_r Stephen Hemminger
2024-03-27 0:27 ` [PATCH v15 04/15] windows: common wrapper for vasprintf and asprintf Stephen Hemminger
2024-03-27 0:27 ` [PATCH v15 05/15] eal: make eal_log_level_parse common Stephen Hemminger
2024-03-27 0:27 ` [PATCH v15 06/15] eal: do not duplicate rte_init_alert() messages Stephen Hemminger
2024-03-27 0:27 ` [PATCH v15 07/15] eal: change rte_exit() output to match rte_log() Stephen Hemminger
2024-03-27 0:27 ` [PATCH v15 08/15] log: move handling of syslog facility out of eal Stephen Hemminger
2024-03-27 0:27 ` [PATCH v15 09/15] eal: initialize log before everything else Stephen Hemminger
2024-03-27 0:27 ` [PATCH v15 10/15] log: drop syslog support, and make code common Stephen Hemminger
2024-03-27 0:27 ` [PATCH v15 11/15] log: add hook for printing log messages Stephen Hemminger
2024-03-27 0:27 ` [PATCH v15 12/15] log: add timestamp option Stephen Hemminger
2024-03-27 0:27 ` [PATCH v15 13/15] log: add optional support of syslog Stephen Hemminger
2024-03-27 0:27 ` [PATCH v15 14/15] log: add support for systemd journal Stephen Hemminger
2024-03-27 0:27 ` [PATCH v15 15/15] log: colorize log output Stephen Hemminger
2024-03-27 16:45 ` [PATCH v16 00/15] Logging unification and improvements Stephen Hemminger
2024-03-27 16:45 ` [PATCH v16 01/15] maintainers: add for log library Stephen Hemminger
2024-03-27 16:52 ` Tyler Retzlaff
2024-03-27 16:45 ` [PATCH v16 02/15] windows: make getopt functions have const properties Stephen Hemminger
2024-03-27 16:45 ` [PATCH v16 03/15] windows: add os shim for localtime_r Stephen Hemminger
2024-03-27 16:56 ` Tyler Retzlaff
2024-03-27 17:30 ` Stephen Hemminger
2024-03-27 16:45 ` [PATCH v16 04/15] windows: common wrapper for vasprintf and asprintf Stephen Hemminger
2024-03-27 17:08 ` Tyler Retzlaff
2024-03-27 16:45 ` [PATCH v16 05/15] eal: make eal_log_level_parse common Stephen Hemminger
2024-03-27 17:11 ` Tyler Retzlaff
2024-03-27 16:45 ` [PATCH v16 06/15] eal: do not duplicate rte_init_alert() messages Stephen Hemminger
2024-03-27 17:11 ` Tyler Retzlaff
2024-03-27 16:45 ` [PATCH v16 07/15] eal: change rte_exit() output to match rte_log() Stephen Hemminger
2024-03-27 17:12 ` Tyler Retzlaff
2024-03-27 16:45 ` [PATCH v16 08/15] log: move handling of syslog facility out of eal Stephen Hemminger
2024-03-27 16:45 ` [PATCH v16 09/15] eal: initialize log before everything else Stephen Hemminger
2024-03-27 17:14 ` Tyler Retzlaff
2024-03-27 16:45 ` [PATCH v16 10/15] log: drop syslog support, and make code common Stephen Hemminger
2024-03-27 16:45 ` [PATCH v16 11/15] log: add hook for printing log messages Stephen Hemminger
2024-03-27 16:45 ` [PATCH v16 12/15] log: add timestamp option Stephen Hemminger
2024-03-27 16:45 ` [PATCH v16 13/15] log: add optional support of syslog Stephen Hemminger
2024-03-27 16:45 ` [PATCH v16 14/15] log: add support for systemd journal Stephen Hemminger
2024-03-27 16:45 ` [PATCH v16 15/15] log: colorize log output Stephen Hemminger
2024-03-27 23:28 ` [PATCH v17 00/15] Logging unification and improvements Stephen Hemminger
2024-03-27 23:28 ` [PATCH v17 01/15] maintainers: add for log library Stephen Hemminger
2024-03-27 23:28 ` [PATCH v17 02/15] windows: make getopt functions have const properties Stephen Hemminger
2024-03-27 23:28 ` [PATCH v17 03/15] windows: add os shim for localtime_r Stephen Hemminger
2024-03-27 23:28 ` [PATCH v17 04/15] windows: common wrapper for vasprintf and asprintf Stephen Hemminger
2024-03-27 23:28 ` [PATCH v17 05/15] eal: make eal_log_level_parse common Stephen Hemminger
2024-03-27 23:28 ` [PATCH v17 06/15] eal: do not duplicate rte_init_alert() messages Stephen Hemminger
2024-03-27 23:28 ` [PATCH v17 07/15] eal: change rte_exit() output to match rte_log() Stephen Hemminger
2024-03-27 23:28 ` [PATCH v17 08/15] log: move handling of syslog facility out of eal Stephen Hemminger
2024-03-27 23:28 ` [PATCH v17 09/15] eal: initialize log before everything else Stephen Hemminger
2024-03-27 23:28 ` [PATCH v17 10/15] log: drop syslog support, and make code common Stephen Hemminger
2024-03-27 23:28 ` [PATCH v17 11/15] log: add hook for printing log messages Stephen Hemminger
2024-03-27 23:28 ` [PATCH v17 12/15] log: add timestamp option Stephen Hemminger
2024-03-27 23:28 ` [PATCH v17 13/15] log: add optional support of syslog Stephen Hemminger
2024-03-27 23:28 ` [PATCH v17 14/15] log: add support for systemd journal Stephen Hemminger
2024-03-27 23:28 ` [PATCH v17 15/15] log: colorize log output Stephen Hemminger
2024-03-28 23:49 ` [PATCH v18 00/15] Logging unification and improvements Stephen Hemminger
2024-03-28 23:49 ` [PATCH v18 01/15] maintainers: add for log library Stephen Hemminger
2024-03-28 23:49 ` [PATCH v18 02/15] windows: make getopt functions have const properties Stephen Hemminger
2024-03-28 23:49 ` [PATCH v18 03/15] windows: add os shim for localtime_r Stephen Hemminger
2024-03-28 23:49 ` [PATCH v18 04/15] windows: common wrapper for vasprintf and asprintf Stephen Hemminger
2024-03-28 23:49 ` [PATCH v18 05/15] eal: make eal_log_level_parse common Stephen Hemminger
2024-03-28 23:49 ` [PATCH v18 06/15] eal: do not duplicate rte_init_alert() messages Stephen Hemminger
2024-03-28 23:49 ` [PATCH v18 07/15] eal: change rte_exit() output to match rte_log() Stephen Hemminger
2024-03-28 23:49 ` [PATCH v18 08/15] log: move handling of syslog facility out of eal Stephen Hemminger
2024-03-28 23:49 ` [PATCH v18 09/15] eal: initialize log before everything else Stephen Hemminger
2024-03-28 23:49 ` [PATCH v18 10/15] log: drop syslog support, and make code common Stephen Hemminger
2024-03-28 23:49 ` [PATCH v18 11/15] log: add hook for printing log messages Stephen Hemminger
2024-03-28 23:49 ` [PATCH v18 12/15] log: add timestamp option Stephen Hemminger
2024-03-28 23:49 ` [PATCH v18 13/15] log: add optional support of syslog Stephen Hemminger
2024-03-28 23:49 ` [PATCH v18 14/15] log: add support for systemd journal Stephen Hemminger
2024-03-28 23:49 ` [PATCH v18 15/15] log: colorize log output Stephen Hemminger
2024-03-30 3:00 ` [PATCH v19 00/15] Logging unification and improvements Stephen Hemminger
2024-03-30 3:00 ` [PATCH v19 01/15] maintainers: add for log library Stephen Hemminger
2024-03-30 3:00 ` [PATCH v19 02/15] windows: make getopt functions have const properties Stephen Hemminger
2024-03-30 3:00 ` [PATCH v19 03/15] windows: add os shim for localtime_r Stephen Hemminger
2024-03-30 3:00 ` [PATCH v19 04/15] windows: common wrapper for vasprintf and asprintf Stephen Hemminger
2024-03-30 3:00 ` [PATCH v19 05/15] eal: make eal_log_level_parse common Stephen Hemminger
2024-03-30 3:00 ` [PATCH v19 06/15] eal: do not duplicate rte_init_alert() messages Stephen Hemminger
2024-03-30 3:00 ` [PATCH v19 07/15] eal: change rte_exit() output to match rte_log() Stephen Hemminger
2024-03-30 3:00 ` [PATCH v19 08/15] log: move handling of syslog facility out of eal Stephen Hemminger
2024-03-30 3:00 ` [PATCH v19 09/15] eal: initialize log before everything else Stephen Hemminger
2024-03-30 3:00 ` [PATCH v19 10/15] log: drop syslog support, and make code common Stephen Hemminger
2024-03-30 3:00 ` [PATCH v19 11/15] log: add hook for printing log messages Stephen Hemminger
2024-03-30 3:00 ` [PATCH v19 12/15] log: add timestamp option Stephen Hemminger
2024-03-30 3:00 ` [PATCH v19 13/15] log: add optional support of syslog Stephen Hemminger
2024-03-30 3:00 ` [PATCH v19 14/15] log: add support for systemd journal Stephen Hemminger
2024-03-30 3:00 ` [PATCH v19 15/15] log: colorize log output Stephen Hemminger
2024-03-30 16:42 ` [PATCH v20 00/14] Logging unification and improvements Stephen Hemminger
2024-03-30 16:42 ` [PATCH v20 01/14] maintainers: add for log library Stephen Hemminger
2024-03-30 16:42 ` [PATCH v20 02/14] windows: make getopt functions have const properties Stephen Hemminger
2024-03-30 16:42 ` [PATCH v20 03/14] windows: add os shim for localtime_r Stephen Hemminger
2024-03-30 16:42 ` [PATCH v20 04/14] eal: make eal_log_level_parse common Stephen Hemminger
2024-03-30 16:42 ` [PATCH v20 05/14] eal: do not duplicate rte_init_alert() messages Stephen Hemminger
2024-03-30 16:42 ` [PATCH v20 06/14] eal: change rte_exit() output to match rte_log() Stephen Hemminger
2024-03-30 16:42 ` [PATCH v20 07/14] log: move handling of syslog facility out of eal Stephen Hemminger
2024-03-30 16:42 ` [PATCH v20 08/14] eal: initialize log before everything else Stephen Hemminger
2024-03-30 16:42 ` [PATCH v20 09/14] log: drop syslog support, and make code common Stephen Hemminger
2024-03-30 16:42 ` [PATCH v20 10/14] log: add hook for printing log messages Stephen Hemminger
2024-03-30 16:42 ` [PATCH v20 11/14] log: add timestamp option Stephen Hemminger
2024-03-30 16:42 ` [PATCH v20 12/14] log: add optional support of syslog Stephen Hemminger
2024-03-30 16:42 ` [PATCH v20 13/14] log: add support for systemd journal Stephen Hemminger
2024-04-01 11:18 ` Luca Boccassi
2024-03-30 16:42 ` [PATCH v20 14/14] log: colorize log output Stephen Hemminger
2024-06-04 0:44 ` [PATCH v21 00/14] Log library unification ane enhancements Stephen Hemminger
2024-06-04 0:44 ` [PATCH v21 01/14] maintainers: add for log library Stephen Hemminger
2024-06-06 5:35 ` Morten Brørup
2024-06-04 0:44 ` [PATCH v21 02/14] windows: make getopt functions have const properties Stephen Hemminger
2024-06-04 2:31 ` Stephen Hemminger
2024-06-04 0:44 ` [PATCH v21 03/14] windows: add os shim for localtime_r Stephen Hemminger
2024-06-04 0:44 ` [PATCH v21 04/14] eal: make eal_log_level_parse common Stephen Hemminger
2024-06-04 0:44 ` [PATCH v21 05/14] eal: do not duplicate rte_init_alert() messages Stephen Hemminger
2024-06-04 0:44 ` [PATCH v21 06/14] eal: change rte_exit() output to match rte_log() Stephen Hemminger
2024-06-04 0:44 ` [PATCH v21 07/14] log: move handling of syslog facility out of eal Stephen Hemminger
2024-06-04 0:44 ` [PATCH v21 08/14] eal: initialize log before everything else Stephen Hemminger
2024-06-04 0:44 ` [PATCH v21 09/14] log: drop syslog support, and make code common Stephen Hemminger
2024-06-04 2:30 ` Stephen Hemminger
2024-06-04 0:44 ` [PATCH v21 10/14] log: add hook for printing log messages Stephen Hemminger
2024-06-04 0:44 ` [PATCH v21 11/14] log: add timestamp option Stephen Hemminger
2024-06-04 2:33 ` Stephen Hemminger
2024-06-04 0:45 ` [PATCH v21 12/14] log: add optional support of syslog Stephen Hemminger
2024-06-04 2:34 ` Stephen Hemminger
2024-06-04 0:45 ` [PATCH v21 13/14] log: add support for systemd journal Stephen Hemminger
2024-06-04 2:35 ` Stephen Hemminger
2024-06-04 0:45 ` [PATCH v21 14/14] log: colorize log output Stephen Hemminger
2024-06-04 2:37 ` Stephen Hemminger
2024-09-17 20:35 ` [PATCH v22 00/15] Logging improvements Stephen Hemminger
2024-09-17 20:35 ` [PATCH v22 01/15] maintainers: add for log library Stephen Hemminger
2024-09-17 20:35 ` [PATCH v22 02/15] windows: make getopt functions have const properties Stephen Hemminger
2024-09-17 20:35 ` [PATCH v22 03/15] windows: add os shim for localtime_r Stephen Hemminger
2024-09-17 20:35 ` [PATCH v22 04/15] eal: make eal_log_level_parse common Stephen Hemminger
2024-09-17 20:35 ` [PATCH v22 05/15] eal: do not duplicate rte_init_alert() messages Stephen Hemminger
2024-09-17 20:35 ` [PATCH v22 06/15] eal: change rte_exit() output to match rte_log() Stephen Hemminger
2024-09-17 20:35 ` [PATCH v22 07/15] log: move handling of syslog facility out of eal Stephen Hemminger
2024-09-17 20:35 ` [PATCH v22 08/15] eal: initialize log before everything else Stephen Hemminger
2024-09-17 20:35 ` [PATCH v22 09/15] log: drop syslog support, and make code common Stephen Hemminger
2024-09-17 20:35 ` [PATCH v22 10/15] log: add hook for printing log messages Stephen Hemminger
2024-09-17 20:35 ` [PATCH v22 11/15] log: add timestamp option Stephen Hemminger
2024-09-17 20:35 ` [PATCH v22 12/15] log: add optional support of syslog Stephen Hemminger
2024-09-17 20:35 ` [PATCH v22 13/15] log: add support for systemd journal Stephen Hemminger
2024-09-17 20:35 ` [PATCH v22 14/15] log: colorize log output Stephen Hemminger
2024-09-17 20:35 ` [PATCH v22 15/15] doc: add release note about log library Stephen Hemminger
2024-09-18 4:38 ` Morten Brørup
2024-09-18 4:56 ` [PATCH v23 00/15] Logging improvements Stephen Hemminger
2024-09-18 4:56 ` [PATCH v23 01/15] maintainers: add for log library Stephen Hemminger
2024-09-18 7:01 ` fengchengwen
2024-09-18 4:56 ` [PATCH v23 02/15] windows: make getopt functions have const properties Stephen Hemminger
2024-09-18 7:04 ` fengchengwen
2024-09-18 4:56 ` [PATCH v23 03/15] windows: add os shim for localtime_r Stephen Hemminger
2024-09-18 7:09 ` fengchengwen
2024-09-18 15:25 ` Stephen Hemminger
2024-09-18 4:56 ` [PATCH v23 04/15] eal: make eal_log_level_parse common Stephen Hemminger
2024-09-18 7:18 ` fengchengwen
2024-09-18 15:24 ` Stephen Hemminger
2024-09-18 4:56 ` [PATCH v23 05/15] eal: do not duplicate rte_init_alert() messages Stephen Hemminger
2024-09-18 7:18 ` fengchengwen
2024-09-18 4:56 ` [PATCH v23 06/15] eal: change rte_exit() output to match rte_log() Stephen Hemminger
2024-09-18 7:23 ` fengchengwen
2024-09-18 4:56 ` [PATCH v23 07/15] log: move handling of syslog facility out of eal Stephen Hemminger
2024-09-18 7:25 ` fengchengwen
2024-09-18 4:56 ` [PATCH v23 08/15] eal: initialize log before everything else Stephen Hemminger
2024-09-18 7:30 ` fengchengwen
2024-09-18 4:56 ` [PATCH v23 09/15] log: drop syslog support, and make code common Stephen Hemminger
2024-09-18 4:56 ` [PATCH v23 10/15] log: add hook for printing log messages Stephen Hemminger
2024-09-18 7:32 ` fengchengwen
2024-09-18 4:56 ` [PATCH v23 11/15] log: add timestamp option Stephen Hemminger
2024-09-18 7:37 ` fengchengwen
2024-09-18 15:05 ` Stephen Hemminger
2024-09-19 1:20 ` fengchengwen
2024-09-18 4:56 ` [PATCH v23 12/15] log: add optional support of syslog Stephen Hemminger
2024-09-18 7:41 ` fengchengwen
2024-09-18 4:56 ` [PATCH v23 13/15] log: add support for systemd journal Stephen Hemminger
2024-09-18 4:56 ` [PATCH v23 14/15] log: colorize log output Stephen Hemminger
2024-09-18 7:43 ` fengchengwen
2024-09-18 4:56 ` [PATCH v23 15/15] doc: add release note about log library Stephen Hemminger
2024-09-18 7:44 ` fengchengwen
2024-09-18 8:27 ` [PATCH v23 00/15] Logging improvements Bruce Richardson
2024-09-18 20:51 ` [PATCH v24 00/15] Logging enhancements for 24.11 Stephen Hemminger
2024-09-18 20:52 ` [PATCH v24 01/15] maintainers: add for log library Stephen Hemminger
2024-09-18 20:52 ` [PATCH v24 02/15] windows: make getopt functions have const properties Stephen Hemminger
2024-09-18 20:52 ` [PATCH v24 03/15] windows: add os shim for localtime_r Stephen Hemminger
2024-09-19 1:07 ` fengchengwen
2024-09-18 20:52 ` [PATCH v24 04/15] eal: make eal_log_level_parse common Stephen Hemminger
2024-09-18 20:52 ` [PATCH v24 05/15] eal: do not duplicate rte_init_alert() messages Stephen Hemminger
2024-09-18 20:52 ` [PATCH v24 06/15] eal: change rte_exit() output to match rte_log() Stephen Hemminger
2024-09-19 1:09 ` fengchengwen
2024-09-18 20:52 ` [PATCH v24 07/15] log: move handling of syslog facility out of eal Stephen Hemminger
2024-09-18 20:52 ` [PATCH v24 08/15] eal: initialize log before everything else Stephen Hemminger
2024-09-18 20:52 ` [PATCH v24 09/15] log: drop syslog support, and make code common Stephen Hemminger
2024-09-18 20:52 ` [PATCH v24 10/15] log: add hook for printing log messages Stephen Hemminger
2024-09-18 20:52 ` [PATCH v24 11/15] log: add timestamp option Stephen Hemminger
2024-09-18 20:52 ` [PATCH v24 12/15] log: add optional support of syslog Stephen Hemminger
2024-09-18 20:52 ` [PATCH v24 13/15] log: add support for systemd journal Stephen Hemminger
2024-09-18 20:52 ` [PATCH v24 14/15] log: colorize log output Stephen Hemminger
2024-09-18 20:52 ` [PATCH v24 15/15] doc: add release note about log library Stephen Hemminger
2024-09-19 15:04 ` [PATCH v25 00/15] Logging enhancements for 24.11 Stephen Hemminger
2024-09-19 15:04 ` [PATCH v25 01/15] maintainers: add for log library Stephen Hemminger
2024-09-19 15:04 ` [PATCH v25 02/15] windows: make getopt functions have const properties Stephen Hemminger
2024-09-19 15:04 ` [PATCH v25 03/15] windows: add os shim for localtime_r Stephen Hemminger
2024-09-19 15:04 ` [PATCH v25 04/15] eal: make eal_log_level_parse common Stephen Hemminger
2024-09-19 15:04 ` [PATCH v25 05/15] eal: do not duplicate rte_init_alert() messages Stephen Hemminger
2024-09-19 15:04 ` [PATCH v25 06/15] eal: change rte_exit() output to match rte_log() Stephen Hemminger
2024-09-19 15:04 ` [PATCH v25 07/15] log: move handling of syslog facility out of eal Stephen Hemminger
2024-09-19 15:04 ` [PATCH v25 08/15] eal: initialize log before everything else Stephen Hemminger
2024-09-19 15:04 ` [PATCH v25 09/15] log: drop syslog support, and make code common Stephen Hemminger
2024-09-19 15:04 ` [PATCH v25 10/15] log: add hook for printing log messages Stephen Hemminger
2024-09-19 15:04 ` [PATCH v25 11/15] log: add timestamp option Stephen Hemminger
2024-09-19 15:04 ` [PATCH v25 12/15] log: add optional support of syslog Stephen Hemminger
2024-09-19 15:04 ` [PATCH v25 13/15] log: add support for systemd journal Stephen Hemminger
2024-09-19 15:04 ` [PATCH v25 14/15] log: colorize log output Stephen Hemminger
2024-09-19 15:04 ` [PATCH v25 15/15] doc: add release note about log library Stephen Hemminger
2024-09-30 20:34 ` Tyler Retzlaff
2024-09-20 14:47 ` [PATCH v25 00/15] Logging enhancements for 24.11 Patrick Robb
2024-10-16 20:20 ` [PATCH v26 00/15] Log subsystem improvements Stephen Hemminger
2024-10-16 20:20 ` [PATCH v26 01/15] maintainers: add for log library Stephen Hemminger
2024-10-16 20:20 ` [PATCH v26 02/15] windows: make getopt functions have const properties Stephen Hemminger
2024-10-16 20:20 ` [PATCH v26 03/15] windows: add os shim for localtime_r Stephen Hemminger
2024-10-16 20:20 ` [PATCH v26 04/15] eal: make eal_log_level_parse common Stephen Hemminger
2024-10-16 20:20 ` [PATCH v26 05/15] eal: do not duplicate rte_init_alert() messages Stephen Hemminger
2024-10-17 16:47 ` David Marchand
2024-10-17 17:17 ` Stephen Hemminger
2024-10-16 20:20 ` [PATCH v26 06/15] eal: change rte_exit() output to match rte_log() Stephen Hemminger
2024-10-16 20:20 ` [PATCH v26 07/15] log: move handling of syslog facility out of eal Stephen Hemminger
2024-10-16 20:20 ` [PATCH v26 08/15] eal: initialize log before everything else Stephen Hemminger
2024-10-16 20:20 ` [PATCH v26 09/15] log: drop syslog support, and make code common Stephen Hemminger
2024-10-16 20:20 ` [PATCH v26 10/15] log: add hook for printing log messages Stephen Hemminger
2024-10-16 20:20 ` [PATCH v26 11/15] log: add timestamp option Stephen Hemminger
2024-10-16 20:20 ` [PATCH v26 12/15] log: add optional support of syslog Stephen Hemminger
2024-10-16 20:20 ` [PATCH v26 13/15] log: add support for systemd journal Stephen Hemminger
2024-10-16 20:20 ` [PATCH v26 14/15] log: colorize log output Stephen Hemminger
2024-10-16 20:20 ` [PATCH v26 15/15] doc: add release note about log library Stephen Hemminger
2024-10-18 17:07 ` [PATCH v26 00/15] Log subsystem improvements David Marchand
2024-10-18 17:45 ` Stephen Hemminger
2024-10-20 7:16 ` Baruch Even
2024-10-24 3:18 ` [PATCH v27 00/14] Log subsystem changes Stephen Hemminger
2024-10-24 3:18 ` [PATCH v27 01/14] maintainers: add for log library Stephen Hemminger
2024-10-24 3:18 ` [PATCH v27 02/14] windows: make getopt functions have const properties Stephen Hemminger
2024-10-24 3:18 ` [PATCH v27 03/14] windows: update os shim Stephen Hemminger
2024-10-24 3:18 ` [PATCH v27 04/14] eal: make eal_log_level_parse common Stephen Hemminger
2024-10-24 3:18 ` [PATCH v27 05/14] eal: do not duplicate rte_init_alert() messages Stephen Hemminger
2024-10-24 3:18 ` [PATCH v27 06/14] eal: change rte_exit() output to match rte_log() Stephen Hemminger
2024-10-24 3:18 ` [PATCH v27 07/14] log: move handling of syslog facility out of eal Stephen Hemminger
2024-10-24 3:18 ` [PATCH v27 08/14] eal: initialize log before everything else Stephen Hemminger
2024-10-24 3:18 ` [PATCH v27 09/14] log: add hook for printing log messages Stephen Hemminger
2024-10-24 3:18 ` [PATCH v27 10/14] log: modify syslog handling Stephen Hemminger
2024-10-24 3:18 ` [PATCH v27 11/14] log: add timestamp option Stephen Hemminger
2024-10-24 3:18 ` [PATCH v27 12/14] log: add support for systemd journal Stephen Hemminger
2024-10-24 3:18 ` [PATCH v27 13/14] log: colorize log output Stephen Hemminger
2024-10-25 15:49 ` Baruch Even
2024-10-24 3:18 ` [PATCH v27 14/14] doc: add release note about log library Stephen Hemminger
2024-10-24 19:02 ` [PATCH v28 00/13] Logging subsystem improvements Stephen Hemminger
2024-10-24 19:02 ` [PATCH v28 01/13] maintainers: add for log library Stephen Hemminger
2024-10-24 19:02 ` [PATCH v28 02/13] windows: make getopt functions have const properties Stephen Hemminger
2024-10-24 19:02 ` [PATCH v28 03/13] windows: update os shim Stephen Hemminger
2024-10-24 19:02 ` [PATCH v28 04/13] eal: make eal_log_level_parse common Stephen Hemminger
2024-10-24 19:02 ` [PATCH v28 05/13] eal: do not duplicate rte_init_alert() messages Stephen Hemminger
2024-10-24 19:02 ` [PATCH v28 06/13] eal: change rte_exit() output to match rte_log() Stephen Hemminger
2024-10-24 19:02 ` Stephen Hemminger [this message]
2024-10-24 19:02 ` [PATCH v28 08/13] eal: initialize log before everything else Stephen Hemminger
2024-10-24 19:02 ` [PATCH v28 09/13] log: add hook for printing log messages Stephen Hemminger
2024-10-24 19:02 ` [PATCH v28 10/13] log: add timestamp option Stephen Hemminger
2024-10-24 19:02 ` [PATCH v28 11/13] log: add support for systemd journal Stephen Hemminger
2024-10-25 15:33 ` Baruch Even
2024-10-25 15:56 ` Stephen Hemminger
2024-10-24 19:02 ` [PATCH v28 12/13] log: colorize log output Stephen Hemminger
2024-10-24 19:02 ` [PATCH v28 13/13] doc: add release note about log library Stephen Hemminger
2024-10-25 21:45 ` [PATCH v29 00/13] Logging subsystem enhancements Stephen Hemminger
2024-10-25 21:45 ` [PATCH v29 01/13] maintainers: add for log library Stephen Hemminger
2024-10-25 21:45 ` [PATCH v29 02/13] windows: make getopt functions have const properties Stephen Hemminger
2024-10-25 21:45 ` [PATCH v29 03/13] windows: update os shim Stephen Hemminger
2024-10-25 21:45 ` [PATCH v29 04/13] eal: make eal_log_level_parse common Stephen Hemminger
2024-10-25 21:45 ` [PATCH v29 05/13] eal: do not duplicate rte_init_alert() messages Stephen Hemminger
2024-10-25 21:45 ` [PATCH v29 06/13] eal: change rte_exit() output to match rte_log() Stephen Hemminger
2024-10-25 21:45 ` [PATCH v29 07/13] log: rework syslog handling Stephen Hemminger
2024-10-25 21:45 ` [PATCH v29 08/13] eal: initialize log before everything else Stephen Hemminger
2024-10-25 21:45 ` [PATCH v29 09/13] log: add hook for printing log messages Stephen Hemminger
2024-10-25 21:45 ` [PATCH v29 10/13] log: add timestamp option Stephen Hemminger
2024-10-25 21:45 ` [PATCH v29 11/13] log: add support for systemd journal Stephen Hemminger
2024-10-25 21:45 ` [PATCH v29 12/13] log: colorize log output Stephen Hemminger
2024-10-25 21:45 ` [PATCH v29 13/13] doc: add release note about log library Stephen Hemminger
2024-10-27 17:24 ` [PATCH v30 00/13] Log library enhancements Stephen Hemminger
2024-10-27 17:24 ` [PATCH v30 01/13] maintainers: add for log library Stephen Hemminger
2024-10-27 17:24 ` [PATCH v30 02/13] windows: make getopt functions have const properties Stephen Hemminger
2024-10-27 17:24 ` [PATCH v30 03/13] windows: update os shim Stephen Hemminger
2024-10-27 17:24 ` [PATCH v30 04/13] eal: make eal_log_level_parse common Stephen Hemminger
2024-10-27 17:24 ` [PATCH v30 05/13] eal: do not duplicate rte_init_alert() messages Stephen Hemminger
2024-10-27 17:24 ` [PATCH v30 06/13] eal: change rte_exit() output to match rte_log() Stephen Hemminger
2024-10-27 17:24 ` [PATCH v30 07/13] log: rework syslog handling Stephen Hemminger
2024-10-27 17:24 ` [PATCH v30 08/13] eal: initialize log before everything else Stephen Hemminger
2024-10-27 17:24 ` [PATCH v30 09/13] log: add hook for printing log messages Stephen Hemminger
2024-10-27 17:24 ` [PATCH v30 10/13] log: add timestamp option Stephen Hemminger
2024-10-27 17:24 ` [PATCH v30 11/13] log: add support for systemd journal Stephen Hemminger
2024-10-27 17:24 ` [PATCH v30 12/13] log: colorize log output Stephen Hemminger
2024-10-27 17:24 ` [PATCH v30 13/13] doc: add release note about log library Stephen Hemminger
2024-11-07 20:51 ` [PATCH v31 00/12] Log library enhancements David Marchand
2024-11-07 20:51 ` [PATCH v31 01/12] eal/windows: align getopt to FreeBSD David Marchand
2024-11-07 20:51 ` [PATCH v31 02/12] eal: factorize parser for log level David Marchand
2024-11-07 20:51 ` [PATCH v31 03/12] eal: introduce log options parser David Marchand
2024-11-07 20:51 ` [PATCH v31 04/12] eal: do not log init failure twice David Marchand
2024-11-07 20:51 ` [PATCH v31 05/12] eal: improve exit output log David Marchand
2024-11-07 20:51 ` [PATCH v31 06/12] log: rework syslog handling David Marchand
2024-11-07 20:51 ` [PATCH v31 07/12] eal: initialize log before everything else David Marchand
2024-11-07 20:51 ` [PATCH v31 08/12] log: add hook for printing log messages David Marchand
2024-11-07 20:51 ` [PATCH v31 09/12] log: add timestamp option David Marchand
2024-11-07 20:51 ` [PATCH v31 10/12] log: support systemd journal David Marchand
2024-11-07 20:51 ` [PATCH v31 11/12] log: colorize log output David Marchand
2024-11-07 20:51 ` [PATCH v31 12/12] maintainers: update for log library David Marchand
2024-11-08 8:51 ` [PATCH v31 00/12] Log library enhancements David Marchand
2024-11-08 8:47 ` David Marchand
2024-11-08 8:47 ` [PATCH v32 01/12] eal/windows: align getopt to FreeBSD David Marchand
2024-11-08 8:47 ` [PATCH v32 02/12] eal: factorize parser for log level David Marchand
2024-11-08 8:47 ` [PATCH v32 03/12] eal: introduce log options parser David Marchand
2024-11-08 8:47 ` [PATCH v32 04/12] eal: do not log init failure twice David Marchand
2024-11-08 8:47 ` [PATCH v32 05/12] eal: improve exit output log David Marchand
2024-11-08 8:47 ` [PATCH v32 06/12] log: rework syslog handling David Marchand
2024-11-08 8:47 ` [PATCH v32 07/12] eal: initialize log before everything else David Marchand
2024-11-08 8:47 ` [PATCH v32 08/12] log: add hook for printing log messages David Marchand
2024-11-08 8:47 ` [PATCH v32 09/12] log: add timestamp option David Marchand
2024-11-08 8:47 ` [PATCH v32 10/12] log: support systemd journal David Marchand
2024-11-08 8:48 ` [PATCH v32 11/12] log: colorize log output David Marchand
2024-11-08 8:48 ` [PATCH v32 12/12] maintainers: update for log library David Marchand
2024-11-08 8:56 ` [PATCH v32 00/12] Log library enhancements David Marchand
2024-11-08 8:56 ` [PATCH v32 01/12] eal/windows: align getopt to FreeBSD David Marchand
2024-11-08 8:56 ` [PATCH v32 02/12] eal: factorize parser for log level David Marchand
2024-11-08 8:57 ` [PATCH v32 03/12] eal: introduce log options parser David Marchand
2024-11-08 8:57 ` [PATCH v32 04/12] eal: do not log init failure twice David Marchand
2024-11-08 8:57 ` [PATCH v32 05/12] eal: improve exit output log David Marchand
2024-11-08 8:57 ` [PATCH v32 06/12] log: rework syslog handling David Marchand
2024-11-08 8:57 ` [PATCH v32 07/12] eal: initialize log before everything else David Marchand
2024-11-08 8:57 ` [PATCH v32 08/12] log: add hook for printing log messages David Marchand
2024-11-08 8:57 ` [PATCH v32 09/12] log: add timestamp option David Marchand
2024-11-08 8:57 ` [PATCH v32 10/12] log: support systemd journal David Marchand
2024-11-08 8:57 ` [PATCH v32 11/12] log: colorize log output David Marchand
2024-11-08 8:57 ` [PATCH v32 12/12] maintainers: update for log library David Marchand
2024-11-08 17:08 ` [PATCH v32 00/12] Log library enhancements David Marchand
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20241024190818.172863-8-stephen@networkplumber.org \
--to=stephen@networkplumber.org \
--cc=anatoly.burakov@intel.com \
--cc=bruce.richardson@intel.com \
--cc=dev@dpdk.org \
--cc=dmitry.kozliuk@gmail.com \
--cc=fengchengwen@huawei.com \
--cc=mb@smartsharesystems.com \
--cc=roretzla@linux.microsoft.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.