Files
kortapp-z/others/C/System_Information/src/logging.c
2025-06-28 11:58:36 +08:00

42 lines
962 B
C

#include "logging.h"
#include <stdio.h>
#include <stdarg.h>
#include <time.h>
static const char* level_strings[] = {
"DEBUG",
"INFO",
"WARNING",
"ERROR"
};
void log_message(LogLevel level, const char* format, ...) {
va_list args;
va_start(args, format);
// 获取当前时间
time_t now;
time(&now);
struct tm* timeinfo = localtime(&now);
char time_str[20];
strftime(time_str, sizeof(time_str), "%Y-%m-%d %H:%M:%S", timeinfo);
// 格式化日志消息
char message[1024];
vsnprintf(message, sizeof(message), format, args);
// 输出到调试控制台
char output[2048];
snprintf(output, sizeof(output), "[%s] [%s] %s\n", time_str, level_strings[level], message);
OutputDebugStringA(output);
// 输出到文件
FILE* log_file = fopen("system_info.log", "a");
if (log_file) {
fprintf(log_file, "%s", output);
fclose(log_file);
}
va_end(args);
}