diff options
author | Tyler Murphy <tylerm@tylerm.dev> | 2023-04-05 23:08:09 -0400 |
---|---|---|
committer | Tyler Murphy <tylerm@tylerm.dev> | 2023-04-05 23:08:09 -0400 |
commit | bb85374b79086cd8efde24d23a1bffeb97cae26b (patch) | |
tree | a36e2df6a89e567822820ac110afec6a13eacbf6 /src/io/log.c | |
parent | finish dns and start webserver (diff) | |
download | wrapper-bb85374b79086cd8efde24d23a1bffeb97cae26b.tar.gz wrapper-bb85374b79086cd8efde24d23a1bffeb97cae26b.tar.bz2 wrapper-bb85374b79086cd8efde24d23a1bffeb97cae26b.zip |
new c version
Diffstat (limited to 'src/io/log.c')
-rw-r--r-- | src/io/log.c | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/src/io/log.c b/src/io/log.c new file mode 100644 index 0000000..ddf56ff --- /dev/null +++ b/src/io/log.c @@ -0,0 +1,49 @@ +#include <stdarg.h> +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#include <time.h> + +#include "log.h" + +#ifdef LOG + +void logmsg(LogLevel level, const char* msg, ...) { + + INIT_LOG_BOUNDS + INIT_LOG_BUFFER(buffer) + + time_t now = time(NULL); + struct tm *tm = localtime(&now); + APPEND(buffer, "\x1b[97m%02d:%02d:%02d ", tm->tm_hour, tm->tm_min, tm->tm_sec); + + switch (level) { + case DEBUG: + APPEND(buffer, "\x1b[%dm%s\x1b[97m ", 95, "DEBUG"); + break; + case TRACE: + APPEND(buffer, "\x1b[%dm%s\x1b[97m ", 96, "TRACE"); + break; + case INFO: + APPEND(buffer, "\x1b[%dm%s\x1b[97m ", 92, "INFO"); + break; + case WARN: + APPEND(buffer, "\x1b[%dm%s\x1b[97m ", 93, "WARN"); + break; + case ERROR: + APPEND(buffer, "\x1b[%dm%s\x1b[97m ", 91, "ERROR"); + break; + break; + } + + va_list valist; + va_start(valist, msg); + t += vsnprintf(buffer + t, BUF_LENGTH - t, msg, valist); + va_end(valist); + + APPEND(buffer, "\n"); + + fwrite(&buffer, t, 1, stdout); +} + +#endif
\ No newline at end of file |