Qt中第三方日志库QsLog
1.下载源码并编译,得到共享库文件libQsLog.so
qslog的下载地址:https://github.com/victronenergy/QsLog。
2.在测试工程目录中,创建QsLog文件夹,在QsLog文件夹下创建bin文件夹(放入上一步的共享库),在QsLog文件夹下创建include(放入第三方库的所有头文件)。
3.右键项目工程添加库,选择动态库,然后在Pro文件中包含QsLog的头文件。
4.配置日志功能
// 1. 启动日志记录机制 Logger& logger = Logger::instance(); logger.setLoggingLevel(QsLogging::TraceLevel); //设置log位置为exe所在目录 const QString sLogPath(QDir(QCoreApplication::applicationDirPath()).filePath("log.txt")); // 2. 添加两个destination DestinationPtr fileDestination(DestinationFactory::MakeFileDestination( sLogPath, EnableLogRotation, MaxSizeBytes(512), MaxOldLogCount(2))); DestinationPtr debugDestination(DestinationFactory::MakeDebugOutputDestination()); //DestinationPtr functorDestination(DestinationFactory::MakeFunctorDestination(&logFunction)); //这样和槽函数连接 //DestinationPtr sigsSlotDestination(DestinationFactory::MakeFunctorDestination(this, SLOT(logSlot(QString,int)))); logger.addDestination(debugDestination); logger.addDestination(fileDestination); //logger.addDestination(functorDestination); //logger.addDestination(sigsSlotDestination);
4.使用日志功能
// 3. 开始日志记录 QLOG_INFO() << "Program started"; QLOG_INFO() << "Built with Qt" << QT_VERSION_STR << "running on" << qVersion(); QLOG_TRACE() << "Here's a" << QString::fromUtf8("trace") << "message"; QLOG_DEBUG() << "Here's a" << static_cast<int>(QsLogging::DebugLevel) << "message"; QLOG_WARN() << "Uh-oh!"; qDebug() << "This message won't be picked up by the logger"; QLOG_ERROR() << "An error has occurred"; qWarning() << "Neither will this one"; QLOG_FATAL() << "Fatal error!";
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· 字符编码:从基础到乱码解决
· Open-Sora 2.0 重磅开源!