diff options
author | Trumeet <yuuta@yuuta.moe> | 2022-07-20 18:12:22 -0700 |
---|---|---|
committer | Trumeet <yuuta@yuuta.moe> | 2022-07-20 18:12:22 -0700 |
commit | b4afa06e383325f4a0c751a64ca896d769db07a8 (patch) | |
tree | 7647fdd73d4f487de778c27aea99bf890458b647 /client/libacron/private/log.c | |
parent | da14a17298c67d83e6da4732f47304954acc26fc (diff) | |
download | acron-b4afa06e383325f4a0c751a64ca896d769db07a8.tar acron-b4afa06e383325f4a0c751a64ca896d769db07a8.tar.gz acron-b4afa06e383325f4a0c751a64ca896d769db07a8.tar.bz2 acron-b4afa06e383325f4a0c751a64ca896d769db07a8.zip |
libac: First Commit
Diffstat (limited to 'client/libacron/private/log.c')
-rw-r--r-- | client/libacron/private/log.c | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/client/libacron/private/log.c b/client/libacron/private/log.c new file mode 100644 index 0000000..b5a246a --- /dev/null +++ b/client/libacron/private/log.c @@ -0,0 +1,52 @@ +/* + * Created by yuuta on 1/1/22. + */ + +#include "log.h" +#include "config.h" + +#include <stdio.h> +#include <stdarg.h> +#include <assert.h> + +void g_log(enum log_level level, + const char *file, + int line, + const char *format, + ...) { + if (config == NULL || config->out == NULL) { + return; + } + FILE *stream = config->out; + switch (level) { + case log_fetal: + fprintf(stream, "F"); + break; + case log_error: + fprintf(stream, "E"); + break; + case log_warn: + fprintf(stream, "W"); + break; + case log_info: + fprintf(stream, "I"); + break; + case log_debug: +#ifdef DEBUG + fprintf(stream, "D"); + break; +#else + return; +#endif + default: + fprintf(stderr, "Unknown log level: %d.\n", level); + assert(0); + } + fprintf(stream, "[%s:%d]: ", + file, line); + va_list list; + va_start(list, format); + vfprintf(stream, format, list); + va_end(list); + fprintf(stream, "\n"); +} |