下面是一个日志类的示例代码:
#include <stdio.h>
#include <time.h>
#define LOG_LEVEL_ERROR 0
#define LOG_LEVEL_WARNING 1
#define LOG_LEVEL_INFO 2
#define LOG_LEVEL_DEBUG 3
#define LOG_LEVEL LOG_LEVEL_DEBUG
void log_message(int level, const char *message) {
if (level < LOG_LEVEL) {
return;
}
time_t now = time(NULL);
struct tm *local_time = localtime(&now);
char formatted_time[20];
strftime(formatted_time, 20, "%Y-%m-%d %H:%M:%S", local_time);
switch (level) {
case LOG_LEVEL_ERROR:
printf("[ERROR] %s %s\n", formatted_time, message);
break;
case LOG_LEVEL_WARNING:
printf("[WARNING] %s %s\n", formatted_time, message);
break;
case LOG_LEVEL_INFO:
printf("[INFO] %s %s\n", formatted_time, message);
break;
case LOG_LEVEL_DEBUG:
printf("[DEBUG] %s %s\n", formatted_time, message);
break;
default:
printf("[UNKNOWN] %s %s\n", formatted_time, message);
break;
}
}