#ifndef __DBG_H__
#define __DBG_H__
extern "C" {
#include <stdio.h>
#include <errno.h>
#include <string.h>
enum LogLevel {
D,
E,
W,
I,
};
#define mylog(level, M, ...) \
do { \
switch (level) { \
case D: \
fprintf(stderr, "[DEBUG] (%s:%d %s): " M "\n", __FILE__, __LINE__, __func__, ##__VA_ARGS__); \
break; \
case E: \
fprintf(stderr, "[ERROR] (%s:%d %s): " M "\n", __FILE__, __LINE__, __func__, ##__VA_ARGS__); \
break; \
case W: \
fprintf(stderr, "[WARN] (%s:%d %s): " M "\n", __FILE__, __LINE__, __func__, ##__VA_ARGS__); \
break; \
case I: \
fprintf(stderr, "[INFO] (%s:%d %s): " M "\n", __FILE__, __LINE__, __func__, ##__VA_ARGS__); \
break; \
} \
} while(0)
}
#endif
简单C日志系统
于 2023-03-04 18:55:16 首次发布