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

#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);
// }
// }
}