54 lines
1.4 KiB
C
54 lines
1.4 KiB
C
#ifndef WRT_LOG_H
|
|
#define WRT_LOG_H
|
|
|
|
#if WRT_DEBUG > 0
|
|
#include <stdio.h>
|
|
|
|
#define _COLOR_RED "\x1B[1;31m"
|
|
#define _COLOR_YELLOW "\x1B[1;33m"
|
|
#define _COLOR_GREEN "\x1B[1;32m"
|
|
#define _COLOR_CYAN "\x1B[1;36m"
|
|
#define _COLOR_RESET "\x1B[0m"
|
|
|
|
#define _LOG(color, level, fmt, ...) \
|
|
do { \
|
|
fprintf(stdout, color "[" level "] (%s:%d): " fmt _COLOR_RESET "\n", __FILE__, \
|
|
__LINE__, ##__VA_ARGS__); \
|
|
} while (0)
|
|
|
|
#define LOG_ERR(fmt, ...) _LOG(_COLOR_RED, "E", fmt, ##__VA_ARGS__)
|
|
#define LOG_WARN(fmt, ...) _LOG(_COLOR_YELLOW, "W", fmt, ##__VA_ARGS__)
|
|
#define LOG_INFO(fmt, ...) _LOG(_COLOR_GREEN, "I", fmt, ##__VA_ARGS__)
|
|
#define LOG_DBG(fmt, ...) _LOG(_COLOR_CYAN, "D", fmt, ##__VA_ARGS__)
|
|
|
|
#if WRT_DEBUG == 1
|
|
#undef LOG_DBG
|
|
#undef LOG_INFO
|
|
#undef LOG_WARN
|
|
#elif WRT_DEBUG == 2
|
|
#undef LOG_DBG
|
|
#undef LOG_INFO
|
|
#elif WRT_DEBUG == 3
|
|
#undef LOG_DBG
|
|
#endif
|
|
|
|
#endif
|
|
|
|
#ifndef LOG_ERR
|
|
#define LOG_ERR(fmt, ...)
|
|
#endif
|
|
|
|
#ifndef LOG_WARN
|
|
#define LOG_WARN(fmt, ...)
|
|
#endif
|
|
|
|
#ifndef LOG_INFO
|
|
#define LOG_INFO(fmt, ...)
|
|
#endif
|
|
|
|
#ifndef LOG_DBG
|
|
#define LOG_DBG(fmt, ...)
|
|
#endif
|
|
|
|
#endif // WRT_LOG_H
|