diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/core/logs.c | 49 | 
1 files changed, 48 insertions, 1 deletions
| diff --git a/src/core/logs.c b/src/core/logs.c index 8327203..aedc78e 100644 --- a/src/core/logs.c +++ b/src/core/logs.c @@ -25,8 +25,10 @@  #include <malloc.h> +#include <string.h> +#include "../common/extstr.h"  #include "../gui/core/panels.h"  #include "../gui/panels/log.h" @@ -186,6 +188,51 @@ void log_variadic_message(LogMessageType type, const char *fmt, ...)  static void print_message_without_gui(LogMessageType type, const char *msg)  { -    printf("!! MSG :: %s\n", msg); +    char *formatted;                        /* Copie formatée du message   */ +    const char *prefix;                     /* Introduction de la ligne    */ + +    formatted = strdup(msg); + +#define FOREGROUND_LIGHT_GRAY "\e[37m" +#define FOREGROUND_RED "\e[91m" + +#define BACKGROUND_RED "\e[101m" + +#define BOLD "\e[1m" +#define ITALIC "\e[3m" + +#define RESET "\e[0m" + +    switch (type) +    { +        case LMT_INFO: +        default: +            prefix = "i"; +            break; + +        case LMT_PROCESS: +            prefix = FOREGROUND_LIGHT_GRAY "*" RESET; +            break; + +        case LMT_WARNING: +            prefix = FOREGROUND_RED "!" RESET; +            break; + +        case LMT_ERROR: +        case LMT_BAD_BINARY: +            prefix = BACKGROUND_RED "!" RESET; +            break; + +    } + +    formatted = strrpl(formatted, "<b>", BOLD); +    formatted = strrpl(formatted, "</b>", RESET); + +    formatted = strrpl(formatted, "<i>", ITALIC); +    formatted = strrpl(formatted, "</i>", RESET); + +    printf("[%s] %s\n", prefix, formatted); + +    free(formatted);  } | 
