fix
This commit is contained in:
		| @@ -30,46 +30,44 @@ namespace repertory { | ||||
| console_consumer::console_consumer() : console_consumer(event_level::info) {} | ||||
|  | ||||
| console_consumer::console_consumer(event_level level) { | ||||
|   static const auto set_level = [](auto *logger, auto next_level) { | ||||
|   static const auto set_level = [](auto next_level) { | ||||
|     switch (next_level) { | ||||
|     case event_level::critical: | ||||
|       logger->set_level(spdlog::level::critical); | ||||
|       spdlog::get("console")->set_level(spdlog::level::critical); | ||||
|       break; | ||||
|     case event_level::error: | ||||
|       logger->set_level(spdlog::level::err); | ||||
|       spdlog::get("console")->set_level(spdlog::level::err); | ||||
|       break; | ||||
|     case event_level::warn: | ||||
|       logger->set_level(spdlog::level::warn); | ||||
|       spdlog::get("console")->set_level(spdlog::level::warn); | ||||
|       break; | ||||
|     case event_level::info: | ||||
|       logger->set_level(spdlog::level::info); | ||||
|       spdlog::get("console")->set_level(spdlog::level::info); | ||||
|       break; | ||||
|     case event_level::debug: | ||||
|       logger->set_level(spdlog::level::debug); | ||||
|       spdlog::get("console")->set_level(spdlog::level::debug); | ||||
|       break; | ||||
|     case event_level::trace: | ||||
|       logger->set_level(spdlog::level::trace); | ||||
|       spdlog::get("console")->set_level(spdlog::level::trace); | ||||
|       break; | ||||
|     default: | ||||
|       logger->set_level(spdlog::level::info); | ||||
|       spdlog::get("console")->set_level(spdlog::level::info); | ||||
|       break; | ||||
|     } | ||||
|   }; | ||||
|  | ||||
|   logger_ = spdlog::create_async<spdlog::sinks::stdout_color_sink_mt>( | ||||
|       "console_logger"); | ||||
|  | ||||
|   set_level(logger_.get(), level); | ||||
|  | ||||
|   spdlog::drop("console"); | ||||
|   logger_ = | ||||
|       spdlog::create_async<spdlog::sinks::stdout_color_sink_mt>("console"); | ||||
|   set_level(level); | ||||
|   spdlog::register_logger(logger_); | ||||
|  | ||||
|   E_SUBSCRIBE_ALL(process_event); | ||||
|   E_SUBSCRIBE_EXACT( | ||||
|       event_level_changed, [this](const event_level_changed &changed) { | ||||
|         set_level(logger_.get(), | ||||
|                   event_level_from_string( | ||||
|                       changed.get_new_event_level().get<std::string>())); | ||||
|       }); | ||||
|   E_SUBSCRIBE_EXACT(event_level_changed, | ||||
|                     [](const event_level_changed &changed) { | ||||
|                       set_level(event_level_from_string( | ||||
|                           changed.get_new_event_level().get<std::string>())); | ||||
|                     }); | ||||
| } | ||||
|  | ||||
| console_consumer::~console_consumer() { E_CONSUMER_RELEASE(); } | ||||
| @@ -77,23 +75,23 @@ console_consumer::~console_consumer() { E_CONSUMER_RELEASE(); } | ||||
| void console_consumer::process_event(const event &event) const { | ||||
|   switch (event.get_event_level()) { | ||||
|   case event_level::critical: | ||||
|     logger_->critical(event.get_single_line()); | ||||
|     spdlog::get("console")->critical(event.get_single_line()); | ||||
|     break; | ||||
|   case event_level::error: | ||||
|     logger_->error(event.get_single_line()); | ||||
|     spdlog::get("console")->error(event.get_single_line()); | ||||
|     break; | ||||
|   case event_level::warn: | ||||
|     logger_->warn(event.get_single_line()); | ||||
|     spdlog::get("console")->warn(event.get_single_line()); | ||||
|     break; | ||||
|   case event_level::info: | ||||
|     logger_->info(event.get_single_line()); | ||||
|     spdlog::get("console")->info(event.get_single_line()); | ||||
|     break; | ||||
|   case event_level::debug: | ||||
|     logger_->debug(event.get_single_line()); | ||||
|     spdlog::get("console")->debug(event.get_single_line()); | ||||
|     break; | ||||
|   case event_level::trace: | ||||
|   default: | ||||
|     logger_->trace(event.get_single_line()); | ||||
|     spdlog::get("console")->trace(event.get_single_line()); | ||||
|     break; | ||||
|   } | ||||
| } | ||||
|   | ||||
| @@ -32,47 +32,45 @@ logging_consumer::logging_consumer(event_level level, | ||||
|                                    std::string log_directory) { | ||||
|   log_directory = utils::path::absolute(log_directory); | ||||
|  | ||||
|   static const auto set_level = [](auto *logger, auto next_level) { | ||||
|   static const auto set_level = [](auto next_level) { | ||||
|     switch (next_level) { | ||||
|     case event_level::critical: | ||||
|       logger->set_level(spdlog::level::critical); | ||||
|       spdlog::get("file")->set_level(spdlog::level::critical); | ||||
|       break; | ||||
|     case event_level::error: | ||||
|       logger->set_level(spdlog::level::err); | ||||
|       spdlog::get("file")->set_level(spdlog::level::err); | ||||
|       break; | ||||
|     case event_level::warn: | ||||
|       logger->set_level(spdlog::level::warn); | ||||
|       spdlog::get("file")->set_level(spdlog::level::warn); | ||||
|       break; | ||||
|     case event_level::info: | ||||
|       logger->set_level(spdlog::level::info); | ||||
|       spdlog::get("file")->set_level(spdlog::level::info); | ||||
|       break; | ||||
|     case event_level::debug: | ||||
|       logger->set_level(spdlog::level::debug); | ||||
|       spdlog::get("file")->set_level(spdlog::level::debug); | ||||
|       break; | ||||
|     case event_level::trace: | ||||
|       logger->set_level(spdlog::level::trace); | ||||
|       spdlog::get("file")->set_level(spdlog::level::trace); | ||||
|       break; | ||||
|     default: | ||||
|       logger->set_level(spdlog::level::info); | ||||
|       spdlog::get("file")->set_level(spdlog::level::info); | ||||
|       break; | ||||
|     } | ||||
|   }; | ||||
|  | ||||
|   spdlog::drop("file"); | ||||
|   logger_ = spdlog::create_async<spdlog::sinks::rotating_file_sink_mt>( | ||||
|       "file_logger", utils::path::combine(log_directory, {"repertory.log"}), | ||||
|       "file", utils::path::combine(log_directory, {"repertory.log"}), | ||||
|       MAX_LOG_FILE_SIZE, MAX_LOG_FILES); | ||||
|  | ||||
|   set_level(logger_.get(), level); | ||||
|  | ||||
|   set_level(level); | ||||
|   spdlog::register_logger(logger_); | ||||
|  | ||||
|   E_SUBSCRIBE_ALL(process_event); | ||||
|   E_SUBSCRIBE_EXACT( | ||||
|       event_level_changed, [this](const event_level_changed &changed) { | ||||
|         set_level(logger_.get(), | ||||
|                   event_level_from_string( | ||||
|                       changed.get_new_event_level().get<std::string>())); | ||||
|       }); | ||||
|   E_SUBSCRIBE_EXACT(event_level_changed, | ||||
|                     [](const event_level_changed &changed) { | ||||
|                       set_level(event_level_from_string( | ||||
|                           changed.get_new_event_level().get<std::string>())); | ||||
|                     }); | ||||
| } | ||||
|  | ||||
| logging_consumer::~logging_consumer() { E_CONSUMER_RELEASE(); } | ||||
| @@ -80,23 +78,23 @@ logging_consumer::~logging_consumer() { E_CONSUMER_RELEASE(); } | ||||
| void logging_consumer::process_event(const event &event) const { | ||||
|   switch (event.get_event_level()) { | ||||
|   case event_level::critical: | ||||
|     logger_->critical(event.get_single_line()); | ||||
|     spdlog::get("file")->critical(event.get_single_line()); | ||||
|     break; | ||||
|   case event_level::error: | ||||
|     logger_->error(event.get_single_line()); | ||||
|     spdlog::get("file")->error(event.get_single_line()); | ||||
|     break; | ||||
|   case event_level::warn: | ||||
|     logger_->warn(event.get_single_line()); | ||||
|     spdlog::get("file")->warn(event.get_single_line()); | ||||
|     break; | ||||
|   case event_level::info: | ||||
|     logger_->info(event.get_single_line()); | ||||
|     spdlog::get("file")->info(event.get_single_line()); | ||||
|     break; | ||||
|   case event_level::debug: | ||||
|     logger_->debug(event.get_single_line()); | ||||
|     spdlog::get("file")->debug(event.get_single_line()); | ||||
|     break; | ||||
|   case event_level::trace: | ||||
|   default: | ||||
|     logger_->trace(event.get_single_line()); | ||||
|     spdlog::get("file")->trace(event.get_single_line()); | ||||
|     break; | ||||
|   } | ||||
| } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user