From 78fb1aef2fe93d04b2a5180ad6f114967bb413f2 Mon Sep 17 00:00:00 2001 From: ilotterytea Date: Mon, 27 Jan 2025 23:13:26 +0500 Subject: feat: custom logger --- src/logger.c | 38 ++++++++++++++++++++++++++++++++++++++ src/logger.h | 13 +++++++++++++ src/main.c | 3 +++ 3 files changed, 54 insertions(+) create mode 100644 src/logger.c create mode 100644 src/logger.h 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 +#include + +#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 + +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 #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); -- cgit v1.2.3