91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

資源簡介

Qt 流量監控 網絡延遲 QT 自動隱藏 自動變色 日志記錄 實現實時流量監控,上傳和下載流量,5秒內的上傳和下載的平均值,30秒內的最高上傳和下載的流量,網絡延遲預警,斷網預警,自動隱藏,延遲大于20ms時,自動變色,自動隱藏,帶有日志記錄

資源截圖

代碼片段和文件信息

#include?“log.h“
#include?
#include?

CLog::CLog()
{

}

void?CLog::WriteLog(QString?str?QString?LogType)
{
????QString?fileFolder=?qApp->applicationDirPath()+“/log/“+QDateTime::currentDateTime().toString(“yyyy-MM-dd“);
????QDir?dir(fileFolder);
????if(!dir.exists())
????{
????????dir.mkpath(fileFolder);
????}
????QString?filePath=QString(“%1/%2.log“).arg(fileFolder).arg(LogType);
????QString?strToWrite=“日志產生時間:“+QDateTime::currentDateTime().toString(“yyyy-MM-dd?hh:mm:ss“);
????strToWrite.append(QString(“\r\n日志消息:%1“).arg(str));
????strToWrite.append(“\r\n---------------------------------------------------------------------“);
????QFile?file(filePath);
????file.open(QIODevice::WriteOnly?|?QIODevice::Append);
????QTextStream?text_stream(&file);
????text_stream?<????file.flush();
????file.close();
????//打印到控制臺
????std::cout?<}

//注冊函數
void?CLog::myMessageOutput(QtMsgType?type?const?QMessageLogContext?&context?const?QString?&msg)
{
????static?QMutex?mutex;
????mutex.lock();

????QString?txtMessage?=?““;
????QString?messageType?=?““;
????switch?(type)????{
????case?QtDebugMsg:????//調試信息提示
????????messageType?=?“Debug“;
????????txtMessage?=?QString(“Debug:?%1?(%2:%3?%4)\n“).arg(msg).arg(context.file).arg(QString::number(context.line)).arg(context.function);
????????break;
????case?QtInfoMsg:
????????messageType?=?“Info“;
????????txtMessage?=?QString(“Info:?%1?(%2:%3?%4)\n“).arg(msg).arg(context.file).arg(QString::number(context.line)).arg(context.function);
????????break;
????case?QtWarningMsg:????//一般的warning提示
????????messageType?=?“Waring“;
????????txtMessage?=?QString(“Warning:?%1?(%2:%3?%4)\n“).arg(msg).arg(context.file).arg(QString::number(context.line)).arg(context.function);
????????break;
????case?QtCriticalMsg:????//嚴重錯誤提示
????????messageType?=?“Critical“;
????????txtMessage?=?QString(“Critical:?%1?(%2:%3?%4)\n“).arg(msg).arg(context.file).arg(QString::number(context.line)).arg(context.function);
????????//PostErrorMessage(txtMessagemessageType);
????????break;
????case?QtFatalMsg:????//致命錯誤提示
????????messageType?=?“Fatal“;
????????txtMessage?=?QString(“Fatal:?%1?(%2:%3?%4)\n“).arg(msg).arg(context.file).arg(QString::number(context.line)).arg(context.function);
????????abort();
????}
????WriteLog(txtMessage?messageType);
????mutex.unlock();
}

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件????????1173??2020-06-02?10:40??TrafficMonitoring.pro
?????文件????????2548??2020-06-02?17:17??log.cpp
?????文件?????????439??2020-06-02?10:37??log.h
?????文件?????????336??2020-06-03?17:59??main.cpp
?????文件???????14476??2020-06-03?21:32??trafficmonitoring.cpp
?????文件????????1599??2020-06-03?20:41??trafficmonitoring.h
?????文件????????5302??2020-06-03?21:32??trafficmonitoring.ui
?????文件????????1245??2020-06-03?14:32??trafficthread.cpp
?????文件?????????367??2020-06-01?14:17??trafficthread.h

評論

共有 條評論