diff options
author | Toni Uhlig <matzeton@googlemail.com> | 2018-05-02 16:15:12 +0200 |
---|---|---|
committer | Toni Uhlig <matzeton@googlemail.com> | 2018-05-02 16:15:12 +0200 |
commit | e6d9e7073ea1e23a3b22440fa69ce92691ca328d (patch) | |
tree | 3fb974880b1ba48f06a5ce430ff0d5983008c180 /src/log_colored.c | |
parent | 3ef3c65b4d19df39e020c1d5f778dafdf493a635 (diff) |
POTD skeleton #40.
Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
Diffstat (limited to 'src/log_colored.c')
-rw-r--r-- | src/log_colored.c | 65 |
1 files changed, 42 insertions, 23 deletions
diff --git a/src/log_colored.c b/src/log_colored.c index 9aaa23f..5434562 100644 --- a/src/log_colored.c +++ b/src/log_colored.c @@ -2,6 +2,8 @@ #include <stdlib.h> #include <stdarg.h> #include <string.h> +#include <sys/types.h> +#include <unistd.h> #include <assert.h> #include "log_colored.h" @@ -29,6 +31,7 @@ void log_close_colored(void) void log_fmt_colored(log_priority prio, const char *fmt, ...) { + pid_t my_pid; char out[LOGMSG_MAXLEN+1] = {0}; va_list arglist; @@ -37,18 +40,19 @@ void log_fmt_colored(log_priority prio, const char *fmt, ...) assert( vsnprintf(&out[0], LOGMSG_MAXLEN, fmt, arglist) >= 0 ); va_end(arglist); + my_pid = getpid(); switch (prio) { case DEBUG: - printf("[DEBUG] %s\n", out); + printf("[DEBUG] [%d] %s\n", my_pid, out); break; case NOTICE: - printf("[" GRN "NOTICE" RESET "] %s\n", out); + printf("[" GRN "NOTICE" RESET "] [%d] %s\n", my_pid, out); break; case WARNING: - printf("[" YEL "WARNING" RESET "] %s\n", out); + printf("[" YEL "WARNING" RESET "][%d] %s\n", my_pid, out); break; case ERROR: - printf("[" RED "ERROR" RESET "] %s\n", out); + printf("[" RED "ERROR" RESET "] [%d] %s\n", my_pid, out); break; } } @@ -56,6 +60,7 @@ void log_fmt_colored(log_priority prio, const char *fmt, ...) void log_fmtex_colored(log_priority prio, const char *srcfile, size_t line, const char *fmt, ...) { + pid_t my_pid; char out[LOGMSG_MAXLEN+1] = {0}; va_list arglist; @@ -64,18 +69,22 @@ void log_fmtex_colored(log_priority prio, const char *srcfile, assert( vsnprintf(&out[0], LOGMSG_MAXLEN, fmt, arglist) >= 0 ); va_end(arglist); + my_pid = getpid(); switch (prio) { case DEBUG: - printf("[DEBUG] %s.%lu: %s\n", srcfile, line, out); + printf("[DEBUG] [%d] %s.%lu: %s\n", my_pid, srcfile, line, out); break; case NOTICE: - printf("[" GRN "NOTICE" RESET "] %s.%lu: %s\n", srcfile, line, out); + printf("[" GRN "NOTICE" RESET "] [%d] %s.%lu: %s\n", + my_pid, srcfile, line, out); break; case WARNING: - printf("[" YEL "WARNING" RESET "] %s.%lu: %s\n", srcfile, line, out); + printf("[" YEL "WARNING" RESET "][%d] %s.%lu: %s\n", + my_pid, srcfile, line, out); break; case ERROR: - printf("[" RED "ERROR" RESET "] %s.%lu: %s\n", srcfile, line, out); + printf("[" RED "ERROR" RESET "] [%d] %s.%lu: %s\n", + my_pid, srcfile, line, out); break; } } @@ -83,6 +92,7 @@ void log_fmtex_colored(log_priority prio, const char *srcfile, void log_fmtexerr_colored(log_priority prio, const char *srcfile, size_t line, const char *fmt, ...) { + pid_t my_pid; int saved_errno = errno; char out[LOGMSG_MAXLEN+1] = {0}; va_list arglist; @@ -92,37 +102,46 @@ void log_fmtexerr_colored(log_priority prio, const char *srcfile, assert( vsnprintf(&out[0], LOGMSG_MAXLEN, fmt, arglist) >= 0 ); va_end(arglist); + my_pid = getpid(); switch (prio) { case DEBUG: if (saved_errno) - printf("[DEBUG] %s.%lu: %s failed: %s\n", srcfile, line, out, - strerror(saved_errno)); + printf("[DEBUG] [%d] %s.%lu: %s failed: %s\n", + my_pid, srcfile, line, out, + strerror(saved_errno)); else - printf("[DEBUG] %s.%lu: %s failed\n", srcfile, line, out); + printf("[DEBUG] [%d] %s.%lu: %s failed\n", + my_pid, srcfile, line, out); break; case NOTICE: if (saved_errno) - printf("[" GRN "NOTICE" RESET "] %s.%lu: %s failed: %s\n", srcfile, - line, out, strerror(saved_errno)); + printf("[" GRN "NOTICE" RESET "] [%d] %s.%lu: %s failed: %s\n", + my_pid, srcfile, + line, out, strerror(saved_errno)); else - printf("[" GRN "NOTICE" RESET "] %s.%lu: %s failed\n", srcfile, - line, out); + printf("[" GRN "NOTICE" RESET "] [%d] %s.%lu: %s failed\n", + my_pid, srcfile, + line, out); break; case WARNING: if (saved_errno) - printf("[" YEL "WARNING" RESET "] %s.%lu: %s failed: %s\n", srcfile, - line, out, strerror(saved_errno)); + printf("[" YEL "WARNING" RESET "][%d] %s.%lu: %s failed: %s\n", + my_pid, srcfile, + line, out, strerror(saved_errno)); else - printf("[" YEL "WARNING" RESET "] %s.%lu: %s failed\n", srcfile, - line, out); + printf("[" YEL "WARNING" RESET "][%d] %s.%lu: %s failed\n", + my_pid, srcfile, + line, out); break; case ERROR: if (saved_errno) - printf("[" RED "ERROR" RESET "] %s.%lu: %s failed: %s\n", srcfile, - line, out, strerror(saved_errno)); + printf("[" RED "ERROR" RESET "] [%d] %s.%lu: %s failed: %s\n", + my_pid, srcfile, + line, out, strerror(saved_errno)); else - printf("[" RED "ERROR" RESET "] %s.%lu: %s failed\n", srcfile, - line, out); + printf("[" RED "ERROR" RESET "] [%d] %s.%lu: %s failed\n", + my_pid, srcfile, + line, out); break; } } |