1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- #include "loginit.h"
- #include "spdlog/spdlog.h"
- #include "spdlog/sinks/stdout_color_sinks.h"
- #include "spdlog/sinks/daily_file_sink.h"
- void init_log()
- {
- try
- {
-
- auto sink_default = std::make_shared<spdlog::sinks::stdout_color_sink_mt>();
-
- auto sink_consolse = std::make_shared<spdlog::sinks::stdout_color_sink_mt>();
-
- auto sink_file = std::make_shared<spdlog::sinks::daily_file_sink_mt>("log/log.txt", 0, 0);
-
- #if C_DEBUG
- sink_default->set_pattern("%^[%Y-%m-%d %H:%M:%S:%e] [%l] [%s %#] %v %$");
- sink_consolse->set_pattern("%^[%Y-%m-%d %H:%M:%S:%e] [%l] [%n] [%s %#] %v%$");
- sink_file->set_pattern("%^[%Y-%m-%d %H:%M:%S:%e] [%l] [%n] [%s %#] %v %$");
- #elif C_RELEASE
- sink_default->set_pattern("%^[%Y-%m-%d %H:%M:%S:%e] [%l] %v %$");
- sink_consolse->set_pattern("%^[%Y-%m-%d %H:%M:%S:%e] [%l] [%n] %v %$");
- sink_file->set_pattern("%^[%Y-%m-%d %H:%M:%S:%e] [%l] [%n] %v %$");
- #endif
-
- spdlog::default_logger()->sinks().clear();
- spdlog::default_logger()->sinks().push_back(sink_default);
-
- std::vector<spdlog::sink_ptr> sinks;
- sinks.push_back(sink_consolse);
- sinks.push_back(sink_file);
-
- auto logger_main = std::make_shared<spdlog::logger>("main",begin(sinks),end(sinks));
-
- auto logger_MQTT = std::make_shared<spdlog::logger>("MQTT",begin(sinks),end(sinks));
-
- auto logger_threadPool = std::make_shared<spdlog::logger>("ThreadPool",begin(sinks),end(sinks));
-
- spdlog::register_logger(logger_main);
- spdlog::register_logger(logger_MQTT);
- spdlog::register_logger(logger_threadPool);
-
- #ifdef C_DEBUG
- spdlog::set_level(spdlog::level::trace);
- spdlog::flush_on(spdlog::level::trace);
- #elif C_RELEASE
- spdlog::set_level(spdlog::level::info);
- spdlog::flush_on(spdlog::level::info);
- #endif
-
- } catch (const spdlog::spdlog_ex& ex) {
- fmt::print("Log initialization failed: %s\n", ex.what());
- }
- }
|