123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293 |
- #include "LHLogInit.h"
- #include "spdlog/spdlog.h"
- #include "spdlog/sinks/stdout_color_sinks.h"
- #include "LHLog_file_sink.h"
- #include <QString>
- #include <QApplication>
- void initLog(QString ModuleName, CLHQLogApi& lhQLog)
- {
- try {
-
- auto sink_consolse = std::make_shared<spdlog::sinks::stdout_color_sink_mt>();
-
-
-
- #if defined(Q_OS_WIN32)
- #if C_DEBUG
- QString libName = QApplication::applicationDirPath() + "/LHQLogd.dll";
- #elif C_RELEASE
- QString libName = QApplication::applicationDirPath() + "/LHQLog.dll";
- #endif
- #elif defined(Q_OS_LINUX)
- QString libName = QApplication::applicationDirPath() + "/libLHQLog.so";
- #endif
- auto sink_custom = std::make_shared<spdlog::sinks::LHLog_file_sink_mt>(&lhQLog, libName, ModuleName);
-
- auto sink_default = std::make_shared<spdlog::sinks::stdout_color_sink_mt>();
-
-
- sink_consolse->set_pattern("%^[%Y-%m-%d %H:%M:%S] [%l] [%n] [%s %#] %v %$");
-
- sink_custom->set_pattern("%v");
- sink_default->set_pattern("%^[%Y-%m-%d %H:%M:%S] [%l] [%s %#] %v %$");
-
- std::vector<spdlog::sink_ptr> sinks;
- sinks.push_back(sink_consolse);
-
- sinks.push_back(sink_custom);
-
- spdlog::default_logger()->sinks().clear();
- spdlog::default_logger()->sinks().push_back(sink_default);
- spdlog::default_logger()->sinks().push_back(sink_custom);
-
-
-
-
-
-
- auto logger_main = std::make_shared<spdlog::logger>("main",begin(sinks),end(sinks));
-
- auto logger_WebAPI = std::make_shared<spdlog::logger>("WebAPI",begin(sinks),end(sinks));
-
- auto logger_Transmitter = std::make_shared<spdlog::logger>("Transmitter",begin(sinks),end(sinks));
-
- spdlog::register_logger(logger_main);
- spdlog::register_logger(logger_WebAPI);
- spdlog::register_logger(logger_Transmitter);
-
- #if defined (C_DEBUG)
- spdlog::set_level(spdlog::level::trace);
- spdlog::flush_on(spdlog::level::trace);
- #elif defined(C_RELEASE)
- spdlog::set_level(spdlog::level::info);
- spdlog::flush_on(spdlog::level::info);
- sink_consolse->set_level(spdlog::level::off);
- sink_default->set_level(spdlog::level::off);
- #endif
- }
- catch (const spdlog::spdlog_ex& ex) {
- qDebug() << "Log initialization failed: " << ex.what() ;
- }
- }
|