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

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.dtcms.com/a/251928.html

相关文章:

  • Nginx全面深入学习目录
  • 我的JavaWeb软件开发作品学生信息管理系统项目/JavaWeb软件开发 课程考察标准
  • OmniMeetProTrack 全维会议链智能追录系统——山东大学软件学院创新实训项目博客(六)
  • 零基础学前端-传统前端开发(第四期-JS基础-语法,语句)
  • 【SQLAlchemy系列】 SQLAlchemy 中的多条件查询:or*与 in*操作符
  • 【Docker基础】Docker核心概念:命名空间(Namespace)之PID详解
  • java+vue+SpringBoo旅游网(程序+数据库+报告+部署教程+答辩指导)
  • Spring-ai 1.0.0 学习(二)——最小化样例
  • 网络安全相关概念与技术详解
  • C++ 网络编程(12)利用单例逻辑实现逻辑类
  • Arthas 全面学习指南
  • 如何用AI绘画工具创作出属于你的拉布布(泡泡玛特)形象?
  • K-Means算法详细解析:从原理到实践
  • 618背后的电商逻辑重构:从价格血战到价值共生
  • Level1.8for循环
  • 3.TCP回响服务器实现及源码分析上
  • 基于Webserver的数据采集
  • Java中hashCode方法与equal方法何时重写
  • 1、Java基础语法通关:从变量盒子到运算符魔法
  • Qt如何生成和使用DLL动态链接库
  • CountDownLatch、CyclicBarrier与Semaphore 核心技术解析
  • 2. Anaconda 的安装及 Pytorch 环境安装
  • 算子 | 类型 / 性质
  • Java类加载器与双亲委派模型深度解析
  • Python Pillow 库详解文档
  • 第11章 结构 笔记
  • Python实战项目 贪吃蛇 源码分享 毕业设计
  • Cangejie Magic智谱AI文生图API实战详解
  • 订单状态定时处理-01.需求分析
  • C++ 记录