网站制作公司有哪些证百度推广电话客服
1. SimpleQtLogger 简介
SimpleQtLogger 是一个轻量级、易集成的 Qt 日志库,仅需两个文件(.h
和 .cpp
)即可实现滚动日志记录功能。它支持多日志级别(Debug、Info、Warning、Error 等),并可将日志输出到控制台或文件,适用于调试、生产环境监控等场景。
核心特点:
-
轻量级:仅需两个文件,无需复杂配置。
-
多日志级别:支持 Debug、Info、Warning、Error 等级别。
-
线程安全:适用于多线程环境。
-
灵活的日志格式:可自定义输出格式(如时间戳、函数名、文件名等)。
-
滚动日志:支持按文件大小或数量轮转日志文件。
2. 安装与集成
-
下载源码(可从 GitHub 或 Gitee 获取)。
-
将
SimpleQtLogger.h
和SimpleQtLogger.cpp
复制到项目目录。 -
在
.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