当前位置: 首页 > ds >正文

SimpleQtLogger 使用总结

1. SimpleQtLogger 简介

SimpleQtLogger 是一个轻量级、易集成的 Qt 日志库,仅需两个文件(.h 和 .cpp)即可实现滚动日志记录功能。它支持多日志级别(Debug、Info、Warning、Error 等),并可将日志输出到控制台或文件,适用于调试、生产环境监控等场景。

核心特点
  • 轻量级:仅需两个文件,无需复杂配置。

  • 多日志级别:支持 Debug、Info、Warning、Error 等级别。

  • 线程安全:适用于多线程环境。

  • 灵活的日志格式:可自定义输出格式(如时间戳、函数名、文件名等)。

  • 滚动日志:支持按文件大小或数量轮转日志文件。


2. 安装与集成

  1. 下载源码(可从 GitHub 或 Gitee 获取)。

  2. 将 SimpleQtLogger.h 和 SimpleQtLogger.cpp 复制到项目目录。

  3. 在 .pro 文件中添加:

SOURCES += SimpleQtLogger.cpp
HEADERS += SimpleQtLogger.h

3. 基本使用

初始化日志

在 main.cpp 中初始化:

#include "SimpleQtLogger.h"int main(int argc, char *argv[]) {QApplication app(argc, argv);// 初始化日志simpleqtlogger::SimpleQtLogger::createInstance(&app);simpleqtlogger::SimpleQtLogger::getInstance()->setLogFormat_file("<TS> [<LL>] <TEXT> (<FUNC>@<FILE>:<LINE>)",  // 文件日志格式"<TS> [<LL>] <TEXT>"                          // 控制台日志格式);// 启用 Debug 级别日志simpleqtlogger::ENABLE_LOG_LEVELS.logLevel_DEBUG = true;// 设置日志文件名(10MB/文件,保留 2 个备份)bool success = simpleqtlogger::SimpleQtLogger::getInstance()->setLogFileName("app.log", 10, 2);LS_INFO("Application started");  // 记录一条 Info 日志return app.exec();
}
记录日志

在代码中使用宏记录日志:

LS_DEBUG("This is a debug message");    // Debug 级别
LS_INFO("This is an info message");     // Info 级别
LS_WARN("This is a warning message");   // Warning 级别
LS_ERROR("This is an error message");   // Error 级别

4. 高级功能

自定义日志格式

支持占位符:

  • <TS>:时间戳

  • <LL>:日志级别

  • <TEXT>:日志内容

  • <FUNC>:函数名

  • <FILE>:文件名

  • <LINE>:行号

示例:

simpleqtlogger::SimpleQtLogger::getInstance()->setLogFormat_file("<TS> <TID> [<LL>][<FUNC>()] [<TEXT>] [<FILE>:<LINE>]",  // 文件格式"<TS> [<LL>] <TEXT>"                                     // 控制台格式
);
日志轮转
  • 按文件大小:setLogFileName("app.log", 10, 2)表示每个日志文件最大 10MB,保留 2 个备份。

  • 按日期分割:可手动实现(如 QDate::currentDate().toString("yyyyMMdd"))。

5. 常见问题

中文乱码
  • 控制台乱码:确保终端编码为 UTF-8,或使用 QTextStream 设置编码:

QTextStream out(stdout);
out.setEncoding(QStringConverter::Utf8);
  • 文件乱码:检查文件编码(建议 UTF-8)。

总结

SimpleQtLogger 适合需要快速集成、轻量级日志的 Qt 项目。通过合理配置日志格式和轮转策略,可有效支持调试和维护。

参考:

1.QT日志类SimpleQtLogger的简单记录

2.simpleQtLogger日志库的使用

3.当我使用simpleLogger获取响应内容时,获取的信息是乱码

4.SimpleQtLogger

http://www.xdnf.cn/news/14607.html

相关文章:

  • 深入理解滑动窗口算法:原理、应用与 C++ 实现
  • C# 事件详解
  • React组件通信——发布订阅(pub/sub)
  • 紧急救援!Ubuntu崩溃修复大赛
  • 在Qt中使用OpenGL显示大量点(点云)
  • 136. 只出现一次的数字
  • 算法题(力扣每日一题)—改变一个整数能得到的最大差值
  • Arthas 全面学习指南
  • 动手实践:LangChain流图可视化全解析
  • [从0到1]环境准备--anaconda与pycharm的安装
  • Linux系统firewall-offline-cmd命令在企业网络安全防护中的应用案例分析
  • 图形编辑器基于Paper.js教程29:基于图层的所有矢量图元的填充规则实现
  • 【C++】list容器实现
  • Lighthouse与首屏优化
  • 【看到哪里写到哪里】如何在C中使用多进程设计(1)
  • STM32 开发 - STM32CubeMX 下载芯片支持包、创建 HAL 库工程
  • 牙科医疗设备EMC电磁兼容技术讨论
  • 数列的极限
  • 推荐标注数据标注
  • 【精选】计算机毕业设计基于SpringBoot高校社团管理系统 社团信息维护 活动发布报名 成员审核与公告发布平台源码+论文+PPT+讲解
  • Git(三) Git 分支工作流管理模型探究与实践
  • 电容篇---常见作用
  • Apache Iceberg与Hive集成:分区表篇
  • StarRocks Community Monthly Newsletter (May)
  • JavaScript中Date对象用法详解
  • 深入实践Caffeine+Redis两级缓存架构:从原理到高可用设计
  • 「Linux文件及目录管理」文件及目录操作类命令
  • Grdle版本与Android Gradle Plugin版本, Android Studio对应关系
  • OpenWrt:交叉编译openssl
  • redis缓存的基础知识