summaryrefslogtreecommitdiff
path: root/log.c
diff options
context:
space:
mode:
authorTrumeet <yuuta@yuuta.moe>2022-04-01 21:13:31 -0700
committerTrumeet <yuuta@yuuta.moe>2022-04-01 21:13:31 -0700
commit318a1ef88bb5ea09ff4cf953908aef5c76735a46 (patch)
tree9cdd8be7679e6a336af7a82ca4947b3ffdac97b2 /log.c
downloadksyxbot-318a1ef88bb5ea09ff4cf953908aef5c76735a46.tar
ksyxbot-318a1ef88bb5ea09ff4cf953908aef5c76735a46.tar.gz
ksyxbot-318a1ef88bb5ea09ff4cf953908aef5c76735a46.tar.bz2
ksyxbot-318a1ef88bb5ea09ff4cf953908aef5c76735a46.zip
First Commit
Diffstat (limited to 'log.c')
-rw-r--r--log.c44
1 files changed, 44 insertions, 0 deletions
diff --git a/log.c b/log.c
new file mode 100644
index 0000000..f3fa7bb
--- /dev/null
+++ b/log.c
@@ -0,0 +1,44 @@
+/*
+ * Created by yuuta on 1/1/22.
+ */
+
+#include "log.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,
+ ...) {
+ FILE *stream = level <= log_warn ? stderr : stdout;
+ 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:
+ fprintf(stream, "D");
+ break;
+ 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");
+}