Move back to C

I'm insane and as such I have moved to C AGAIN! Without any reason.
This commit is contained in:
Piotr Krygier committed 2023-08-14 13:48:29 +02:00
1 parent bf31b96a2e
commit 3d538eaa2c
43 files changed
+2645 -2649

No files matched your search

+48
View File
@@ -0,0 +1,48 @@
/**
* @file log.h
* @author Piotr Krygier (everyonencancode@gmail.com)
* @brief Logging interfaces
* @version 0.1
* @date 2022-02-11
*
* @copyright Copyright (c) 2022
*
*/
#ifndef RSE_LOGGER_H
#define RSE_LOGGER_H
#ifndef LOG_LEVEL
#define LOG_LEVEL LOGLEVEL_DEBUG
#endif
#include <stdio.h>
#define LOGGER(log_level, ...) _log_log(log_level, __FILE__, __LINE__, __VA_ARGS__)
// #define LOGGER(log_level, ...) printf("[##log_level] %s:%d", __FILE__, __LINE__); printf(__VA_ARGS__)
#define LOGT(...) LOGGER(LOGLEVEL_TRACE, __VA_ARGS__)
#define LOGD(...) LOGGER(LOGLEVEL_DEBUG, __VA_ARGS__)
#define LOGI(...) LOGGER(LOGLEVEL_INFO, __VA_ARGS__)
#define LOGW(...) LOGGER(LOGLEVEL_WARNING, __VA_ARGS__)
#define LOGE(...) LOGGER(LOGLEVEL_ERROR, __VA_ARGS__)
#define LOGF(...) LOGGER(LOGLEVEL_FATAL, __VA_ARGS__)
/**
* @brief Log level. Is not an enum class, because level is being compared to enable prints
*
*/
typedef enum
{
LOGLEVEL_TRACE,
LOGLEVEL_DEBUG,
LOGLEVEL_INFO,
LOGLEVEL_WARNING,
LOGLEVEL_ERROR,
LOGLEVEL_FATAL
} LogLevel;
void _log_log(unsigned int level, const char* file, int line, const char* fmt, ...);
#endif /* RSE_LOGGER_H */