網(wǎng)站制作公司有哪些證網(wǎng)站建設(shè)開發(fā)
1. SimpleQtLogger 簡介
SimpleQtLogger 是一個輕量級、易集成的 Qt 日志庫,僅需兩個文件(.h
?和?.cpp
)即可實現(xiàn)滾動日志記錄功能。它支持多日志級別(Debug、Info、Warning、Error 等),并可將日志輸出到控制臺或文件,適用于調(diào)試、生產(chǎn)環(huán)境監(jiān)控等場景。
核心特點:
-
輕量級:僅需兩個文件,無需復(fù)雜配置。
-
多日志級別:支持 Debug、Info、Warning、Error 等級別。
-
線程安全:適用于多線程環(huán)境。
-
靈活的日志格式:可自定義輸出格式(如時間戳、函數(shù)名、文件名等)。
-
滾動日志:支持按文件大小或數(shù)量輪轉(zhuǎn)日志文件。
2. 安裝與集成
-
下載源碼(可從?GitHub?或?Gitee?獲取)。
-
將?
SimpleQtLogger.h
?和?SimpleQtLogger.cpp
?復(fù)制到項目目錄。 -
在?
.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;// 設(shè)置日志文件名(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>
:日志內(nèi)容 -
<FUNC>
:函數(shù)名 -
<FILE>
:文件名 -
<LINE>
:行號
示例:
simpleqtlogger::SimpleQtLogger::getInstance()->setLogFormat_file("<TS> <TID> [<LL>][<FUNC>()] [<TEXT>] [<FILE>:<LINE>]", // 文件格式"<TS> [<LL>] <TEXT>" // 控制臺格式
);
日志輪轉(zhuǎn)
-
按文件大小:setLogFileName("app.log", 10, 2)表示每個日志文件最大 10MB,保留 2 個備份。
-
按日期分割:可手動實現(xiàn)(如?QDate::currentDate().toString("yyyyMMdd"))。
5. 常見問題
中文亂碼
-
控制臺亂碼:確保終端編碼為 UTF-8,或使用?
QTextStream
?設(shè)置編碼:
QTextStream out(stdout);
out.setEncoding(QStringConverter::Utf8);
-
文件亂碼:檢查文件編碼(建議 UTF-8)。
總結(jié)
SimpleQtLogger 適合需要快速集成、輕量級日志的 Qt 項目。通過合理配置日志格式和輪轉(zhuǎn)策略,可有效支持調(diào)試和維護。
參考:
1.QT日志類SimpleQtLogger的簡單記錄
2.simpleQtLogger日志庫的使用
3.當(dāng)我使用simpleLogger獲取響應(yīng)內(nèi)容時,獲取的信息是亂碼
4.SimpleQtLogger