summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/logger.c38
-rw-r--r--src/logger.h13
-rw-r--r--src/main.c3
3 files changed, 54 insertions, 0 deletions
diff --git a/src/logger.c b/src/logger.c
new file mode 100644
index 0000000..3b7820a
--- /dev/null
+++ b/src/logger.c
@@ -0,0 +1,38 @@
+#include "logger.h"
+
+#include <stdio.h>
+#include <time.h>
+
+#include "raylib.h"
+
+// cv pasted from
+// https://www.raylib.com/examples/core/loader.html?name=core_custom_logging
+// :tf:
+void SE_Logger(int type, const char *text, va_list args) {
+ char timeStr[64] = {0};
+ time_t now = time(NULL);
+ struct tm *tm_info = localtime(&now);
+
+ strftime(timeStr, sizeof(timeStr), "%Y-%m-%d %H:%M:%S", tm_info);
+ printf("[%s] ", timeStr);
+
+ switch (type) {
+ case LOG_INFO:
+ printf("[INFO] : ");
+ break;
+ case LOG_ERROR:
+ printf("[ERROR]: ");
+ break;
+ case LOG_WARNING:
+ printf("[WARN] : ");
+ break;
+ case LOG_DEBUG:
+ printf("[DEBUG]: ");
+ break;
+ default:
+ break;
+ }
+
+ vprintf(text, args);
+ printf("\n");
+} \ No newline at end of file
diff --git a/src/logger.h b/src/logger.h
new file mode 100644
index 0000000..87e470f
--- /dev/null
+++ b/src/logger.h
@@ -0,0 +1,13 @@
+#ifndef __LOGGER_H__
+#define __LOGGER_H__
+
+#define SE_LOG_INFO(x) SE_Logger(LOG_INFO, x, NULL);
+#define SE_LOG_WARN(x) SE_Logger(LOG_WARN, x, NULL);
+#define SE_LOG_DEBUG(x) SE_Logger(LOG_DEBUG, x, NULL);
+#define SE_LOG_ERROR(x) SE_Logger(LOG_ERROR, x, NULL);
+
+#include <stdarg.h>
+
+void SE_Logger(int type, const char *text, va_list args);
+
+#endif \ No newline at end of file
diff --git a/src/main.c b/src/main.c
index 271ce40..8ce056b 100644
--- a/src/main.c
+++ b/src/main.c
@@ -3,10 +3,13 @@
#include <stdlib.h>
#include "editor.h"
+#include "logger.h"
#include "raylib.h"
#include "xd.h"
int main() {
+ SetTraceLogCallback(SE_Logger);
+
SetConfigFlags(FLAG_WINDOW_RESIZABLE);
InitWindow(800, 600, "sillyeditor");
SetTargetFPS(60);