日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

Qt下一行代码就可以使用的稳定易用的日志log类

發布時間:2023/11/27 生活经验 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Qt下一行代码就可以使用的稳定易用的日志log类 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Qt下一行代碼就可以使用的穩定易用的日志類

此日志類是基于Qt 自帶的 擴展的一個易用的日志類,
使用的是Qt自帶的日志輸出形式, 已長期運行在許多實際項目中,穩定可靠,而且跨平臺,
在windows和linux 上都能穩定運行

百度云盤下載鏈接:https://pan.baidu.com/s/1PU1h4LrUmb5camSBON7Gxg
提取碼:v17m

默認日志文件配置:

  • 默認debug等級
  • 每天重新生成一個文件,
  • 文件超過40MB時重新生成一個文件,
  • 文件數量最多10個,超過十個則保留時間最近的10個

文件名稱:

  • appName_2020_05_13_18_01_48.log

使用說明:

    //日志等級enum DB_LOG_LEVEL{LOG_DEBUG = 1,			//調試等級LOG_INFO,						//正常等級LOG_WARNING,				//只輸出警告以上LOG_ERROR					//只輸出錯誤以上};

使用方法

在任意地方調用初始化,初始化之后才可輸出日志到文件

DBLog::getInstance()->init();					//初始化

外部獲取日志信息

//綁定日志輸出的信號到界面窗口顯示connect(DBLog::getInstance(), &DBLog::signalOutputLog, this, &MainWindow::sigLOG);

設置日志配置參數

    DBLog::logConfig logConfig;logConfig.level =  DBLog::DB_LOG_LEVEL::LOG_INFO;logConfig.createDays = 1;			//日志文件創建頻率、天logConfig.fileMaxCount = 20;		//日志文件最多個數個、個logConfig.fileMaxSizeMB = 50;	//日志文件最大大小、MBDBLog::getInstance()->setlogConfig(logConfig);				//設置日志配置

獲取日志等級

DBLog::getInstance()->getLogLevel();

手動同步日志緩存到日志文件中(正常使用無需調用,頻繁調用會影響程序運行效率)

DBLog::getInstance()->flushLogToFile();

頭文件概覽

/** ******************************************************** @brief      :公共的日志輸出類* @author     :zhongyl* @date       :2019-06-13* @version    :v1.0* @warning    :* @note       :使用標準的qt 日志輸出方式,日志等級、文件大小、個數,自動創建文件時間等均可配置*                使用方法:*                1、初始化*                DBLog::getInstance()->setlogConfig(logConfig);		//如果需要自定義日志配置、可省略* 			      DBLog::getInstance()->init();					//初始化*                2、日志輸出示例:*                qDebug()<<"hello world";*                qInfo()<<"hello world";*                qInfo("hello world");**               日志輸出定級:*               qDebug()<<調試日志, 用于打印調試信息,和一些數據的詳細信息,正常不顯示,*               對應解決問題增加的調試信息應該 在問題關閉之后取出*               qInfo()<<日常消息, 程序運行正常下應該顯示的一些狀態信息,*               qWaring()<<警告消息, 一些導致程序運行狀態異常,  但是不影響程序主要功能繼續的故障*               qCritical()<<臨界消息, 一些導致程序運行異常, 無法繼續正常運行,主要功能癱瘓的故障*               qFatal(“崩潰消息, 一些導致程序直接崩潰, 無法運行的的故障”)
******************************************************** **/
class DBLog : public QObject
{Q_OBJECT
public://日志等級enum DB_LOG_LEVEL{LOG_DEBUG = 1,LOG_INFO,LOG_WARNING,LOG_ERROR};struct logConfig{int level;          //日志等級int createDays;     //日志文件創建頻率(天)int fileMaxSizeMB;  //日志文件最大大小(Mb)int fileMaxCount;   //日志文件最大個數logConfig() = default;};
public:static DBLog* getInstance();/*** @brief setlogConfig 設置日志參數* @param logInfo 日志參數*/void setlogConfig(logConfig logInfo);void init();int  getLogLevel();void flushLogToFile();
signals:/*** @brief signalOutputLog 日志輸出的信號* @param msg 日志內容*/void signalOutputLog(QtMsgType type, const QString &msg);}

總結

以上是生活随笔為你收集整理的Qt下一行代码就可以使用的稳定易用的日志log类的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。