diff --git a/include/cpp-logger/clogger.h b/include/cpp-logger/clogger.h index e916196..bdf57f4 100644 --- a/include/cpp-logger/clogger.h +++ b/include/cpp-logger/clogger.h @@ -1,11 +1,12 @@ #ifdef __cplusplus extern "C" { #endif -#define CPP_LOGGER_PRINT 1 -#define CPP_LOGGER_ERROR 2 -#define CPP_LOGGER_WARN 3 -#define CPP_LOGGER_INFO 4 -#define CPP_LOGGER_DEBUG 5 +const int CPP_LOGGER_PRINT = 1; +const int CPP_LOGGER_ERROR = 2; +const int CPP_LOGGER_WARN = 3; +const int CPP_LOGGER_INFO = 4; +const int CPP_LOGGER_DEBUG = 5; +const int CPP_LOGGER_TRACE = 6; extern void cpp_logger_clog(const int logger_level, const char* name, const char* string, ...); extern void cpp_logger_clog_level(const int logger_level, const char* name); diff --git a/include/cpp-logger/logger.h b/include/cpp-logger/logger.h index f45fb8c..8bba38c 100644 --- a/include/cpp-logger/logger.h +++ b/include/cpp-logger/logger.h @@ -17,7 +17,8 @@ enum LoggerType { LOG_ERROR = 2, LOG_WARN = 3, LOG_INFO = 4, - LOG_DEBUG = 5 + LOG_DEBUG = 5, + LOG_TRACE = 6, }; class Logger { @@ -31,7 +32,7 @@ class Logger { explicit Logger(std::string app_name) : _app_name(app_name), level(LoggerType::LOG_ERROR) {} - static std::shared_ptr Instance(std::string app_name = "MIMIR") { + static std::shared_ptr Instance(std::string app_name = "LOGGER") { auto iter = instance_map.find(app_name); std::shared_ptr instance; if (iter == instance_map.end()) { @@ -51,36 +52,44 @@ class Logger { (void)resu; switch (type) { case LoggerType::LOG_PRINT: { - if (level >= LoggerType::LOG_PRINT) + if (level >= LoggerType::LOG_PRINT) { fprintf(stdout, "[%s PRINT]: %s\n", _app_name.c_str(), buffer); - fflush(stdout); + fflush(stdout); + } + break; + } + case LoggerType::LOG_TRACE: { + if (level >= LoggerType::LOG_TRACE) { + fprintf(stdout, "[%s TRACE]: %s\n", _app_name.c_str(), buffer); + fflush(stdout); + } break; } case LoggerType::LOG_DEBUG: { if (level >= LoggerType::LOG_DEBUG) { - fprintf(stdout, "[%s DEBUG]: %s\n", _app_name.c_str(), buffer); - fflush(stderr); + fprintf(stdout, "[%s DEBUG]: %s\n", _app_name.c_str(), buffer); + fflush(stdout); } break; } case LoggerType::LOG_INFO: { if (level >= LoggerType::LOG_INFO) { - fprintf(stdout, "[%s INFO]: %s\n", _app_name.c_str(), buffer); - fflush(stdout); + fprintf(stdout, "[%s INFO]: %s\n", _app_name.c_str(), buffer); + fflush(stdout); } break; } case LoggerType::LOG_WARN: { if (level >= LoggerType::LOG_WARN) { - fprintf(stdout, "[%s WARN]: %s\n", _app_name.c_str(), buffer); - fflush(stdout); + fprintf(stdout, "[%s WARN]: %s\n", _app_name.c_str(), buffer); + fflush(stdout); } break; } case LoggerType::LOG_ERROR: { if (level >= LoggerType::LOG_ERROR) { - fprintf(stderr, "[%s ERROR]: %s\n", _app_name.c_str(), buffer); - fflush(stderr); + fprintf(stderr, "[%s ERROR]: %s\n", _app_name.c_str(), buffer); + fflush(stderr); } break; }