DPDK patches and discussions
 help / color / mirror / Atom feed
From: Baruch Even <baruch@weka.io>
To: Stephen Hemminger <stephen@networkplumber.org>
Cc: dev@dpdk.org, "Morten Brørup" <mb@smartsharesystems.com>,
	"Bruce Richardson" <bruce.richardson@intel.com>,
	"Chengwen Feng" <fengchengwen@huawei.com>,
	"Tyler Retzlaff" <roretzla@linux.microsoft.com>
Subject: Re: [PATCH v27 13/14] log: colorize log output
Date: Fri, 25 Oct 2024 18:49:08 +0300	[thread overview]
Message-ID: <CAKye4QYE0ZVJ9RXyOqj93VfQVsoqR5ON9bAo5-KmBwD2EaNbxA@mail.gmail.com> (raw)
In-Reply-To: <20241024032026.415122-14-stephen@networkplumber.org>

[-- Attachment #1: Type: text/plain, Size: 16983 bytes --]

The code has some mentions of `--log-color=none` but only the `never`
option is parsed.

On Thu, Oct 24, 2024 at 6:22 AM Stephen Hemminger <
stephen@networkplumber.org> wrote:

> Like dmesg, colorize the log output (unless redirected to file).
> Timestamp is green, the subsystem is in yellow and the message
> is red if urgent, boldface if an error, and normal for info and
> debug messages.
>
> The default is to not use color since it may disturb
> automatic tests and other embedded usage.
>
> 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           |  24 ++++
>  doc/guides/prog_guide/log_lib.rst   |  24 ++++
>  lib/eal/common/eal_common_options.c |  11 ++
>  lib/eal/common/eal_options.h        |   2 +
>  lib/log/log.c                       |  20 ++-
>  lib/log/log_color.c                 | 216 ++++++++++++++++++++++++++++
>  lib/log/log_internal.h              |   5 +
>  lib/log/log_private.h               |   8 ++
>  lib/log/meson.build                 |   1 +
>  lib/log/version.map                 |   1 +
>  10 files changed, 308 insertions(+), 4 deletions(-)
>  create mode 100644 lib/log/log_color.c
>
> diff --git a/app/test/test_eal_flags.c b/app/test/test_eal_flags.c
> index e24630edde..cd73711da6 100644
> --- a/app/test/test_eal_flags.c
> +++ b/app/test/test_eal_flags.c
> @@ -1067,6 +1067,18 @@ test_misc_flags(void)
>         const char * const argv25[] = {prgname, prefix, mp_flag,
>                                        "--log-timestamp=invalid" };
>
> +       /* Try running with --log-color */
> +       const char * const argv26[] = {prgname, prefix, mp_flag,
> +                                      "--log-color" };
> +
> +       /* Try running with --log-color=never */
> +       const char * const argv27[] = {prgname, prefix, mp_flag,
> +                                      "--log-color=never" };
> +
> +       /* Try running with --log-color=invalid */
> +       const char * const argv28[] = {prgname, prefix, mp_flag,
> +                                      "--log-color=invalid" };
> +
>
>         /* run all tests also applicable to FreeBSD first */
>
> @@ -1187,6 +1199,18 @@ test_misc_flags(void)
>                 printf("Error - process did run ok with
> --log-timestamp=invalid parameter\n");
>                 goto fail;
>         }
> +       if (launch_proc(argv26) != 0) {
> +               printf("Error - process did not run ok with --log-color
> parameter\n");
> +               goto fail;
> +       }
> +       if (launch_proc(argv27) != 0) {
> +               printf("Error - process did not run ok with
> --log-color=none parameter\n");
> +               goto fail;
> +       }
> +       if (launch_proc(argv28) == 0) {
> +               printf("Error - process did run ok with
> --log-timestamp=invalid parameter\n");
> +               goto fail;
> +       }
>
>
>         rmdir(hugepath_dir3);
> diff --git a/doc/guides/prog_guide/log_lib.rst
> b/doc/guides/prog_guide/log_lib.rst
> index 82d3b7be2b..a4f880037b 100644
> --- a/doc/guides/prog_guide/log_lib.rst
> +++ b/doc/guides/prog_guide/log_lib.rst
> @@ -57,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
>  -------------------------------------------
>
> @@ -137,3 +138,26 @@ To prefix all console messages with ISO format time
> the syntax is::
>
>     Timestamp option has no effect if using syslog because the ``syslog()``
>     service already does timestamping internally.
> +
> +
> +Color output
> +~~~~~~~~~~~~
> +
> +The log library will highlight important messages.
> +This is controlled by the ``--log-color`` option.
> +The optional argument describes when color is enabled:
> +
> +:never: Do not enable color. This is the default behavior.
> +
> +:auto: Enable color only when printing to a terminal.
> +       This is the same as ``--log-color`` with no argument
> +
> +:always: Always print color
> +
> +For example to enable color in logs if using terminal::
> +
> +       /path/to/app --log-color
> +
> +.. note::
> +
> +   Color output is never used for syslog or systemd journal logging.
> diff --git a/lib/eal/common/eal_common_options.c
> b/lib/eal/common/eal_common_options.c
> index a70d63479a..6965666a7c 100644
> --- a/lib/eal/common/eal_common_options.c
> +++ b/lib/eal/common/eal_common_options.c
> @@ -73,6 +73,7 @@ eal_long_options[] = {
>         {OPT_HUGE_UNLINK,       2, NULL, OPT_HUGE_UNLINK_NUM      },
>         {OPT_IOVA_MODE,         1, NULL, OPT_IOVA_MODE_NUM        },
>         {OPT_LCORES,            1, NULL, OPT_LCORES_NUM           },
> +       {OPT_LOG_COLOR,         2, NULL, OPT_LOG_COLOR_NUM        },
>         {OPT_LOG_LEVEL,         1, NULL, OPT_LOG_LEVEL_NUM        },
>         {OPT_LOG_TIMESTAMP,     2, NULL, OPT_LOG_TIMESTAMP_NUM    },
>         {OPT_TRACE,             1, NULL, OPT_TRACE_NUM            },
> @@ -1620,6 +1621,7 @@ eal_log_level_parse(int argc, char * const argv[])
>                 case OPT_LOG_LEVEL_NUM:
>                 case OPT_SYSLOG_NUM:
>                 case OPT_LOG_TIMESTAMP_NUM:
> +               case OPT_LOG_COLOR_NUM:
>                         if (eal_parse_common_option(opt, optarg,
> internal_conf) < 0)
>                                 return -1;
>                         break;
> @@ -1859,6 +1861,14 @@ eal_parse_common_option(int opt, const char *optarg,
>                 }
>                 break;
>
> +       case OPT_LOG_COLOR_NUM:
> +               if (eal_log_color(optarg) < 0) {
> +                       EAL_LOG(ERR, "invalid parameters for --"
> +                               OPT_LOG_COLOR);
> +                       return -1;
> +               }
> +               break;
> +
>  #ifndef RTE_EXEC_ENV_WINDOWS
>         case OPT_TRACE_NUM: {
>                 if (eal_trace_args_save(optarg) < 0) {
> @@ -2225,6 +2235,7 @@ eal_common_usage(void)
>                "                      Set specific log level\n"
>                "  --"OPT_LOG_LEVEL"=help    Show log types and levels\n"
>                "  --"OPT_LOG_TIMESTAMP"[=<format>]  Timestamp log output\n"
> +              "  --"OPT_LOG_COLOR"[=<when>] Colorize log messages\n"
>  #ifndef RTE_EXEC_ENV_WINDOWS
>                "  --"OPT_TRACE"=<regex-match>\n"
>                "                      Enable trace based on regular
> expression trace name.\n"
> diff --git a/lib/eal/common/eal_options.h b/lib/eal/common/eal_options.h
> index e24c9eca53..87c3c32f86 100644
> --- a/lib/eal/common/eal_options.h
> +++ b/lib/eal/common/eal_options.h
> @@ -33,6 +33,8 @@ enum {
>         OPT_HUGE_UNLINK_NUM,
>  #define OPT_LCORES            "lcores"
>         OPT_LCORES_NUM,
> +#define OPT_LOG_COLOR        "log-color"
> +       OPT_LOG_COLOR_NUM,
>  #define OPT_LOG_LEVEL         "log-level"
>         OPT_LOG_LEVEL_NUM,
>  #define OPT_LOG_TIMESTAMP     "log-timestamp"
> diff --git a/lib/log/log.c b/lib/log/log.c
> index 343f9d77b7..f1bd408bee 100644
> --- a/lib/log/log.c
> +++ b/lib/log/log.c
> @@ -515,10 +515,22 @@ eal_log_init(const char *id)
>
>         if (logf)
>                 rte_openlog_stream(logf);
> -       else if (log_timestamp_enabled())
> -               rte_logs.print_func = log_print_with_timestamp;
> -       else
> -               rte_logs.print_func = vfprintf;
> +       else {
> +               bool is_terminal = isatty(fileno(stderr));
> +               bool use_color = log_color_enabled(is_terminal);
> +
> +               if (log_timestamp_enabled()) {
> +                       if (use_color)
> +                               rte_logs.print_func =
> color_print_with_timestamp;
> +                       else
> +                               rte_logs.print_func =
> log_print_with_timestamp;
> +               } else {
> +                       if (use_color)
> +                               rte_logs.print_func = color_print;
> +                       else
> +                               rte_logs.print_func = vfprintf;
> +               }
> +       }
>
>  #if RTE_LOG_DP_LEVEL >= RTE_LOG_DEBUG
>         RTE_LOG(NOTICE, EAL,
> diff --git a/lib/log/log_color.c b/lib/log/log_color.c
> new file mode 100644
> index 0000000000..82a9ac8022
> --- /dev/null
> +++ b/lib/log/log_color.c
> @@ -0,0 +1,216 @@
> +/* SPDX-License-Identifier: BSD-3-Clause */
> +
> +#include <limits.h>
> +#include <stdbool.h>
> +#include <stdio.h>
> +#include <stdint.h>
> +#include <stdarg.h>
> +#include <stdlib.h>
> +#include <string.h>
> +
> +#include <rte_common.h>
> +#include <rte_log.h>
> +
> +#ifdef RTE_EXEC_ENV_WINDOWS
> +#include <rte_os_shim.h>
> +#endif
> +
> +#include "log_internal.h"
> +#include "log_private.h"
> +
> +enum  {
> +       LOG_COLOR_AUTO = 0,
> +       LOG_COLOR_NEVER,
> +       LOG_COLOR_ALWAYS,
> +} log_color_mode = LOG_COLOR_NEVER;
> +
> +enum color {
> +       COLOR_NONE,
> +       COLOR_RED,
> +       COLOR_GREEN,
> +       COLOR_YELLOW,
> +       COLOR_BLUE,
> +       COLOR_MAGENTA,
> +       COLOR_CYAN,
> +       COLOR_WHITE,
> +       COLOR_BOLD,
> +       COLOR_CLEAR,
> +};
> +
> +enum log_field {
> +       LOG_FIELD_SUBSYS,
> +       LOG_FIELD_TIME,
> +       LOG_FIELD_ALERT,
> +       LOG_FIELD_ERROR,
> +       LOG_FIELD_INFO,
> +};
> +
> +static const enum color field_colors[] = {
> +       [LOG_FIELD_SUBSYS] = COLOR_YELLOW,
> +       [LOG_FIELD_TIME]   = COLOR_GREEN,
> +       [LOG_FIELD_ALERT]  = COLOR_RED,
> +       [LOG_FIELD_ERROR]  = COLOR_BOLD,
> +       [LOG_FIELD_INFO]   = COLOR_NONE,
> +};
> +
> +/* If set all colors are bolder */
> +static bool dark_mode;
> +
> +/* Standard terminal escape codes for colors and bold */
> +static const uint8_t color_esc_code[] = {
> +       [COLOR_RED]     = 31,
> +       [COLOR_GREEN]   = 32,
> +       [COLOR_YELLOW]  = 33,
> +       [COLOR_BLUE]    = 34,
> +       [COLOR_MAGENTA] = 35,
> +       [COLOR_CYAN]    = 36,
> +       [COLOR_WHITE]   = 37,
> +       [COLOR_BOLD]    = 1,
> +};
> +
> +__rte_format_printf(4, 5)
> +static int
> +color_snprintf(char *buf, size_t len, enum log_field field,
> +              const char *fmt, ...)
> +{
> +       enum color color = field_colors[field];
> +       uint8_t esc = color_esc_code[color];
> +       va_list args;
> +       int ret = 0;
> +
> +       va_start(args, fmt);
> +       if (esc == 0) {
> +               ret = vsnprintf(buf, len, fmt, args);
> +       } else {
> +               ret = snprintf(buf, len,
> +                              dark_mode ? "\e[1;%um" : "\e[%um", esc);
> +               ret += vsnprintf(buf + ret, len - ret, fmt, args);
> +               ret += snprintf(buf + ret,  len - ret, "%s", "\e[0m");
> +       }
> +       va_end(args);
> +
> +       return ret;
> +}
> +
> +/*
> + * Controls whether color is enabled:
> + * modes are:
> + *   always - enable color output regardless
> + *   auto - enable if stderr is a terminal
> + *   never - color output is disabled.
> + */
> +int
> +eal_log_color(const char *mode)
> +{
> +       if (mode == NULL || strcmp(mode, "always") == 0)
> +               log_color_mode = LOG_COLOR_ALWAYS;
> +       else if (strcmp(mode, "never") == 0)
> +               log_color_mode = LOG_COLOR_NEVER;
> +       else if (strcmp(mode, "auto") == 0)
> +               log_color_mode = LOG_COLOR_AUTO;
> +       else
> +               return -1;
> +
> +       return 0;
> +}
> +
> +bool
> +log_color_enabled(bool is_terminal)
> +{
> +       char *env, *sep;
> +
> +       /* Set dark mode using the defacto heuristics used by other
> programs */
> +       env = getenv("COLORFGBG");
> +       if (env) {
> +               sep = strrchr(env, ';');
> +               if (sep &&
> +                   ((sep[1] >= '0' && sep[1] <= '6') || sep[1] == '8') &&
> +                   sep[2] == '\0')
> +                       dark_mode = true;
> +       }
> +
> +       switch (log_color_mode) {
> +       case LOG_COLOR_ALWAYS:
> +               return true;
> +       case LOG_COLOR_AUTO:
> +               return is_terminal;
> +       default:
> +               return false;
> +
> +       }
> +}
> +
> +/* Look ast the current message level to determine color of field */
> +static enum log_field
> +color_msg_field(void)
> +{
> +       const int level = rte_log_cur_msg_loglevel();
> +
> +       if (level <= 0 || level >= (int)RTE_LOG_INFO)
> +               return LOG_FIELD_INFO;
> +       else if (level >= (int)RTE_LOG_ERR)
> +               return LOG_FIELD_ERROR;
> +       else
> +               return LOG_FIELD_ALERT;
> +}
> +
> +__rte_format_printf(3, 0)
> +static int
> +color_fmt_msg(char *out, size_t len, const char *format, va_list ap)
> +{
> +       enum log_field field = color_msg_field();
> +       char buf[LINE_MAX];
> +       int ret = 0;
> +
> +       /* format raw message */
> +       vsnprintf(buf, sizeof(buf), format, ap);
> +       const char *msg = buf;
> +
> +       /*
> +        * use convention that first part of message (up to the ':'
> character)
> +        * is the subsystem id and should be highlighted.
> +        */
> +       const char *cp = strchr(msg, ':');
> +       if (cp) {
> +               /* print first part in yellow */
> +               ret = color_snprintf(out, len, LOG_FIELD_SUBSYS,
> +                                    "%.*s", (int)(cp - msg + 1), msg);
> +               msg = cp + 1;
> +       }
> +
> +       ret += color_snprintf(out + ret, len - ret, field, "%s", msg);
> +       return ret;
> +}
> +
> +__rte_format_printf(2, 0)
> +int
> +color_print(FILE *f, const char *format, va_list ap)
> +{
> +       char out[LINE_MAX];
> +
> +       /* format raw message */
> +       int ret = color_fmt_msg(out, sizeof(out), format, ap);
> +       if (fputs(out, f) < 0)
> +               return -1;
> +
> +       return ret;
> +}
> +
> +__rte_format_printf(2, 0)
> +int
> +color_print_with_timestamp(FILE *f, const char *format, va_list ap)
> +{
> +       char out[LINE_MAX];
> +       char tsbuf[128];
> +       int ret = 0;
> +
> +       if (log_timestamp(tsbuf, sizeof(tsbuf)) > 0)
> +               ret = color_snprintf(out, sizeof(out),
> +                                    LOG_FIELD_TIME, "[%s] ", tsbuf);
> +
> +       ret += color_fmt_msg(out + ret, sizeof(out) - ret, format, ap);
> +       if (fputs(out, f) < 0)
> +               return -1;
> +
> +       return ret;
> +}
> diff --git a/lib/log/log_internal.h b/lib/log/log_internal.h
> index 82fdc21ac2..bba7041ea3 100644
> --- a/lib/log/log_internal.h
> +++ b/lib/log/log_internal.h
> @@ -50,5 +50,10 @@ void rte_eal_log_cleanup(void);
>  __rte_internal
>  int eal_log_timestamp(const char *fmt);
>
> +/*
> + * Enable or disable color in log messages
> + */
> +__rte_internal
> +int eal_log_color(const char *mode);
>
>  #endif /* LOG_INTERNAL_H */
> diff --git a/lib/log/log_private.h b/lib/log/log_private.h
> index 625f57c0cc..42babbcac1 100644
> --- a/lib/log/log_private.h
> +++ b/lib/log/log_private.h
> @@ -25,4 +25,12 @@ ssize_t log_timestamp(char *tsbuf, size_t tsbuflen);
>  __rte_format_printf(2, 0)
>  int log_print_with_timestamp(FILE *f, const char *format, va_list ap);
>
> +bool log_color_enabled(bool is_tty);
> +
> +__rte_format_printf(2, 0)
> +int color_print(FILE *f, const char *format, va_list ap);
> +
> +__rte_format_printf(2, 0)
> +int color_print_with_timestamp(FILE *f, const char *format, va_list ap);
> +
>  #endif /* LOG_PRIVATE_H */
> diff --git a/lib/log/meson.build b/lib/log/meson.build
> index 86e4452b19..b3de57b9c7 100644
> --- a/lib/log/meson.build
> +++ b/lib/log/meson.build
> @@ -4,6 +4,7 @@
>  includes += global_inc
>  sources = files(
>          'log.c',
> +        'log_color.c',
>          'log_timestamp.c',
>  )
>
> diff --git a/lib/log/version.map b/lib/log/version.map
> index 800d3943bc..09d8a4289b 100644
> --- a/lib/log/version.map
> +++ b/lib/log/version.map
> @@ -25,6 +25,7 @@ DPDK_25 {
>  INTERNAL {
>         global:
>
> +       eal_log_color;
>         eal_log_init;
>         eal_log_journal; # WINDOWS_NO_EXPORT
>         eal_log_level2str;
> --
> 2.45.2
>
>

-- 
Baruch Even
Platform Technical Lead at WEKA
E baruch@weka.io* ­*W https://www.weka.io* ­*

[image: App Banner Image]
<https://www.weka.io/trends-in-AI-emsig?utm_campaign=signature&utm_source=WiseStamp&utm_medium=email>

[-- Attachment #2: Type: text/html, Size: 23752 bytes --]

  reply	other threads:[~2024-10-25 15:49 UTC|newest]

Thread overview: 417+ 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 [this message]
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   ` [PATCH v28 07/13] log: rework syslog handling Stephen Hemminger
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

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=CAKye4QYE0ZVJ9RXyOqj93VfQVsoqR5ON9bAo5-KmBwD2EaNbxA@mail.gmail.com \
    --to=baruch@weka.io \
    --cc=bruce.richardson@intel.com \
    --cc=dev@dpdk.org \
    --cc=fengchengwen@huawei.com \
    --cc=mb@smartsharesystems.com \
    --cc=roretzla@linux.microsoft.com \
    --cc=stephen@networkplumber.org \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).