资源简介
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 << strToWrite.toLocal8Bit().constData() << std::endl;
}
//注册函数
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
- 上一篇:springboot2.0整合quartz
- 下一篇:labview浓度采集
相关资源
- QT登陆页面跳转到主界面的源代码
- ListView自定义Item
- QT4.8.5.zip
- qt_opencv_zbar20181218二维码测距和识别检
- qt5 qftp官方源码
- qt的excel读取并显示到tablewidget的封装
- Qt录音机QAudioInput
- QT 软键盘_支持中文
- Qt调用系统摄像头
- Qt5主窗体:文本编辑器
- Qt绘制雷达表盘
- Qt天气预报程序
- QT5 UDP方式发送数据
- 基于qt的学生信息管理系统
- 零基础学习QTP自动化测试视频教程.
- 源码:Qt上位机(温度曲线图,txt文件
- QT 可使用的简易计算器
- qtListwidget控件使用
- QT实现的模拟win+r窗口
- QT计算器界面和计算器功能实现
- QT浮动窗口dock
- qt做一个贪吃蛇小游戏
- QT做一个简易浏览器
- Qt多客户端聊天程序.zip
- tableview连接数据库后导入导出类.zip
- qt界面连接wifi
- Smart4418友善之臂Tcp通信色谱仪
- qt4.8软键盘(通过点击输入框呼出)
- 适合新手学习Qt的一个小项目
- QTmedia播放音乐和视频的小
评论
共有 条评论