You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
50 lines
1.7 KiB
50 lines
1.7 KiB
#include "LogManager.h"
|
|
#include <hv/hlog.h>
|
|
//#include <spdlog/sinks/daily_file_sink.h>
|
|
//#include <spdlog/sinks/stdout_color_sinks.h>
|
|
#include <QtGlobal>
|
|
|
|
LogManager::LogManager()
|
|
{
|
|
logger_set_level(hlog, LOG_LEVEL_SILENT);
|
|
}
|
|
|
|
void LogManager::init(const QString &filename)
|
|
{
|
|
// auto console_sink = std::make_shared<spdlog::sinks::stdout_color_sink_mt>();
|
|
// console_sink->set_level(spdlog::level::warn);
|
|
// console_sink->set_pattern("[multi_sink_example] [%^%l%$] %v");
|
|
|
|
// _logger = QSharedPointer<spdlog::logger>(new spdlog::logger("logger", {console_sink}));
|
|
|
|
// qInstallMessageHandler(LogManager::messageHandler);
|
|
}
|
|
|
|
void LogManager::messageHandler(QtMsgType type,
|
|
const QMessageLogContext &context,
|
|
const QString &msg)
|
|
{
|
|
// 将 QString 转换为 UTF-8 编码的 std::string
|
|
QByteArray byteArray = msg.toUtf8();
|
|
std::string utf8Msg(byteArray.constData(), byteArray.size());
|
|
|
|
// switch (type) {
|
|
// //< 这里根据自己的需求可以将qt的 不同种类输出 重定向到 自己需要的日志输出接口中
|
|
// case QtDebugMsg: {
|
|
// LogManager::instance()._logger->debug(utf8Msg);
|
|
// } break;
|
|
// case QtInfoMsg: {
|
|
// LogManager::instance()._logger->info(utf8Msg);
|
|
// } break;
|
|
// case QtWarningMsg: {
|
|
// LogManager::instance()._logger->warn(utf8Msg);
|
|
// } break;
|
|
// case QtCriticalMsg: {
|
|
// LogManager::instance()._logger->critical(utf8Msg);
|
|
// } break;
|
|
// case QtFatalMsg: {
|
|
// LogManager::instance()._logger->critical(utf8Msg);
|
|
// }
|
|
// }
|
|
}
|