90 lines
2.2 KiB
C
90 lines
2.2 KiB
C
|
|
#include "log.h"
|
|||
|
|
|
|||
|
|
static LogLevel current_level = LOG_DEBUG;
|
|||
|
|
|
|||
|
|
void log_set_level(LogLevel level){
|
|||
|
|
current_level = level;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
// <20>ڲ<EFBFBD><DAB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־<EFBFBD><D6BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʵ<EFBFBD>ʴ<EFBFBD>ӡ
|
|||
|
|
static void _log_print(LogLevel level, const char *tag, const char *fmt, va_list args) {
|
|||
|
|
if (current_level <= level) {
|
|||
|
|
u1_printf("[%s] ", tag); // <20><>ӡ<EFBFBD><D3A1>־<EFBFBD><D6BE>ǩ<EFBFBD><C7A9><EFBFBD><EFBFBD> DEBUG, INFO<46><4F>
|
|||
|
|
u1_vprintf(fmt, args); // <20><>ӡ<EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĸ<EFBFBD>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
u1_printf("\r\n"); // <20><><EFBFBD><EFBFBD>
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
// <20><><EFBFBD><EFBFBD>־<EFBFBD><D6BE><EFBFBD><EFBFBD><EFBFBD>ĺ<EFBFBD><C4BA><EFBFBD><EFBFBD><EFBFBD>ֻ<EFBFBD><D6BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD> _log_print<6E><74>
|
|||
|
|
void log_debug(const char *fmt, ...) {
|
|||
|
|
va_list args;
|
|||
|
|
va_start(args, fmt);
|
|||
|
|
_log_print(LOG_DEBUG, "DEBUG", fmt, args);
|
|||
|
|
va_end(args);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
void log_info(const char *fmt, ...) {
|
|||
|
|
va_list args;
|
|||
|
|
va_start(args, fmt);
|
|||
|
|
_log_print(LOG_INFO, "INFO", fmt, args);
|
|||
|
|
va_end(args);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
void log_warn(const char *fmt, ...) {
|
|||
|
|
va_list args;
|
|||
|
|
va_start(args, fmt);
|
|||
|
|
_log_print(LOG_WARN, "WARN", fmt, args);
|
|||
|
|
va_end(args);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
void log_error(const char *fmt, ...) {
|
|||
|
|
va_list args;
|
|||
|
|
va_start(args, fmt);
|
|||
|
|
_log_print(LOG_ERROR, "ERROR", fmt, args);
|
|||
|
|
va_end(args);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//void log_debug(const char *fmt, ...){
|
|||
|
|
// if(current_level <= LOG_DEBUG) {
|
|||
|
|
// va_list args;
|
|||
|
|
// va_start(args, fmt);
|
|||
|
|
// u1_printf("[DEBUG]");
|
|||
|
|
// u1_vprintf(fmt, args); // <20><><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>֧<EFBFBD>ֿɱ<D6BF><C9B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĵ<EFBFBD>ӡ<EFBFBD><D3A1><EFBFBD><EFBFBD>
|
|||
|
|
// u1_printf("\r\n");
|
|||
|
|
// va_end(args);
|
|||
|
|
// }
|
|||
|
|
//}
|
|||
|
|
|
|||
|
|
//void log_info(const char *fmt, ...){
|
|||
|
|
// if(current_level <= LOG_INFO) {
|
|||
|
|
// va_list args;
|
|||
|
|
// va_start(args, fmt);
|
|||
|
|
// u1_printf("[INFO]");
|
|||
|
|
// u1_vprintf(fmt, args); // <20><><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>֧<EFBFBD>ֿɱ<D6BF><C9B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĵ<EFBFBD>ӡ<EFBFBD><D3A1><EFBFBD><EFBFBD>
|
|||
|
|
// u1_printf("\r\n");
|
|||
|
|
// va_end(args);
|
|||
|
|
// }
|
|||
|
|
//}
|
|||
|
|
|
|||
|
|
//void log_warn(const char *fmt, ...) {
|
|||
|
|
// if(current_level <= LOG_WARN) {
|
|||
|
|
// va_list args;
|
|||
|
|
// va_start(args, fmt);
|
|||
|
|
// u1_printf("[WARN]");
|
|||
|
|
// u1_vprintf(fmt, args); // <20><><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>֧<EFBFBD>ֿɱ<D6BF><C9B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĵ<EFBFBD>ӡ<EFBFBD><D3A1><EFBFBD><EFBFBD>
|
|||
|
|
// u1_printf("\r\n");
|
|||
|
|
// va_end(args);
|
|||
|
|
// }
|
|||
|
|
//}
|
|||
|
|
|
|||
|
|
//void log_error(const char *fmt, ...) {
|
|||
|
|
// if(current_level <= LOG_ERROR) {
|
|||
|
|
// va_list args;
|
|||
|
|
// va_start(args, fmt);
|
|||
|
|
// u1_printf("[ERROR]");
|
|||
|
|
// u1_vprintf(fmt, args);
|
|||
|
|
// u1_printf("\r\n");
|
|||
|
|
// va_end(args);
|
|||
|
|
// }
|
|||
|
|
//}
|