diff options
| author | ilotterytea <iltsu@alright.party> | 2025-01-27 23:13:26 +0500 |
|---|---|---|
| committer | ilotterytea <iltsu@alright.party> | 2025-01-27 23:13:26 +0500 |
| commit | 78fb1aef2fe93d04b2a5180ad6f114967bb413f2 (patch) | |
| tree | cd56aa12c7c529cd7accb29e98e9f7a4614ec175 /src | |
| parent | d17526ae3e10deb9b92dde90268a395ab1f1b8fa (diff) | |
feat: custom logger
Diffstat (limited to 'src')
| -rw-r--r-- | src/logger.c | 38 | ||||
| -rw-r--r-- | src/logger.h | 13 | ||||
| -rw-r--r-- | src/main.c | 3 |
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 @@ -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); |
