From 87bcbfad6fc94c88ba83aa58c16ced3694e2cfae Mon Sep 17 00:00:00 2001 From: zhaohe Date: Sun, 10 Sep 2023 21:56:15 +0800 Subject: [PATCH] update --- src/iflytop/core/spdlogfactory/logger_factory.cpp | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/src/iflytop/core/spdlogfactory/logger_factory.cpp b/src/iflytop/core/spdlogfactory/logger_factory.cpp index b839e6a..4ff7148 100644 --- a/src/iflytop/core/spdlogfactory/logger_factory.cpp +++ b/src/iflytop/core/spdlogfactory/logger_factory.cpp @@ -258,13 +258,13 @@ static bool mkdirIfNotExist(const string& path) { class LoggerAndSinks { public: - string loggerName; + string loggerName; set sinkNames; }; /****************************************************************************************************/ -static map s_sinks = {}; -static map> s_loggers = {}; +static map s_sinks = {}; +static map> s_loggers = {}; static set> s_loggerAndSinks = {}; static void insertLogger(shared_ptr var_logger) { @@ -300,8 +300,7 @@ static level::level_enum to_level(int value) { case SPDLOG_LEVEL_CRITICAL: return level::critical; default: - spdlog::critical("level is out of range {} level must in [{},{}]", value, SPDLOG_LEVEL_TRACE, - SPDLOG_LEVEL_CRITICAL); + spdlog::critical("level is out of range {} level must in [{},{}]", value, SPDLOG_LEVEL_TRACE, SPDLOG_LEVEL_CRITICAL); exit(-1); break; } @@ -310,7 +309,7 @@ static level::level_enum to_level(int value) { // #define GET(type,value,error_msg,...) #define TRY_GET(type, value_name, default_value) type value_name = tryGet(j, #value_name, default_value) -#define GET(T, value_name) T value_name = j.at(#value_name).get(); +#define GET(T, value_name) T value_name = j.at(#value_name).get(); static void logger_common_config(logger_t var_logger, json j) { TRY_GET(int, level, 2); @@ -321,7 +320,7 @@ static void logger_common_config(logger_t var_logger, json j) { if (!sinks.empty()) { shared_ptr las(new LoggerAndSinks()); las->loggerName = var_logger->name(); - las->sinkNames = sinks; + las->sinkNames = sinks; s_loggerAndSinks.insert(las); } } @@ -514,7 +513,7 @@ void core::SpdLoggerFactory::parseSphLogConfig(string path) { s_loggers.clear(); s_loggerAndSinks.clear(); - fstream infile(path, ios::binary | ios::in); + fstream infile(path, ios::binary | ios::in); stringstream sstream; sstream << infile.rdbuf(); infile.close(); @@ -634,6 +633,10 @@ shared_ptr SpdLoggerFactory::createLogger(string loggerName) { } if (!initializeLogger) { + if (default_config.empty()) { + spdlog::warn("you may construct a logger before main!!"); + exit(-1); + } string configFilePath = getConfigFilePath(); if (!configFilePath.empty() && exist(configFilePath)) { parseSphLogConfig(configFilePath);