[PATCH 2/5] log: Refactor log level text output

Aleksander Morgado aleksander at aleksander.es
Wed Jun 21 11:35:11 UTC 2017


On 21/06/17 12:54, Torsten Hilbrich wrote:
> Adding a helper function to turn the log level into the text. Also
> add an internal flag to disable this output. This flag will become
> useful when adding systemd journal support.

Pushed to git master, thanks.

> ---
>  src/mm-log.c | 34 ++++++++++++++++++++--------------
>  1 file changed, 20 insertions(+), 14 deletions(-)
> 
> diff --git a/src/mm-log.c b/src/mm-log.c
> index 4f882f3..eea0bac 100644
> --- a/src/mm-log.c
> +++ b/src/mm-log.c
> @@ -47,6 +47,7 @@ static gboolean ts_flags = TS_FLAG_NONE;
>  static guint32 log_level = MM_LOG_LEVEL_INFO | MM_LOG_LEVEL_WARN | MM_LOG_LEVEL_ERR;
>  static GTimeVal rel_start = { 0, 0 };
>  static int logfd = -1;
> +static gboolean append_log_level_text = TRUE;
>  
>  typedef struct {
>      guint32 num;
> @@ -81,6 +82,23 @@ mm_to_syslog_priority (MMLogLevel level)
>      return 0;
>  }
>  
> +static const char *
> +log_level_description (MMLogLevel level)
> +{
> +    switch (level) {
> +    case MM_LOG_LEVEL_DEBUG:
> +        return "<debug>";
> +    case MM_LOG_LEVEL_WARN:
> +        return "<warn> ";
> +    case MM_LOG_LEVEL_INFO:
> +        return "<info> ";
> +    case MM_LOG_LEVEL_ERR:
> +        return "<error>";
> +    }
> +    g_assert_not_reached();
> +    return NULL;
> +}
> +
>  void
>  _mm_log (const char *loc,
>           const char *func,
> @@ -101,20 +119,8 @@ _mm_log (const char *loc,
>      } else
>          g_string_truncate (msgbuf, 0);
>  
> -    switch (level) {
> -    case MM_LOG_LEVEL_DEBUG:
> -        g_string_append (msgbuf, "<debug> ");
> -        break;
> -    case MM_LOG_LEVEL_INFO:
> -        g_string_append (msgbuf, "<info>  ");
> -        break;
> -    case MM_LOG_LEVEL_WARN:
> -        g_string_append (msgbuf, "<warn>  ");
> -        break;
> -    case MM_LOG_LEVEL_ERR:
> -        g_string_append (msgbuf, "<error> ");
> -        break;
> -    }
> +    if (append_log_level_text)
> +        g_string_append_printf (msgbuf, "%s ", log_level_description (level));
>  
>      if (ts_flags == TS_FLAG_WALL) {
>          g_get_current_time (&tv);
> 


-- 
Aleksander
https://aleksander.es


More information about the ModemManager-devel mailing list