当前位置: 首页 > news >正文

qtc++ qdebug日志生成

本文介绍了将qdebug注册到日志系统,这样qdebug打印的信息将记录在日志文本文件,方便观看程序运行中的历史信息,但是需要注意的是,注册后qdebug的信息将不会打印在qtcreator的输出中,所以作者建议,在开发的时候不要注册这个功能,等程序运行上线时加入日志文件

具体实现代码如下
我的写在了main.cpp中

// 重定向 qDebug 输出到文件
void myMessageOutput(QtMsgType type, const QMessageLogContext &context, const QString &msg)
{QFile outFile("log.txt");outFile.open(QIODevice::WriteOnly | QIODevice::Append);QTextStream ts(&outFile);ts << QDateTime::currentDateTime().toString("yyyy-MM-dd hh:mm:ss.zzz ") << msg;switch (type) {case QtDebugMsg:ts << "Debug: ";break;case QtInfoMsg:ts << "Info: ";break;case QtWarningMsg:ts << "Warning: ";break;case QtCriticalMsg:ts << "Critical: ";break;case QtFatalMsg:ts << "Fatal: ";break;}ts << "[" << context.file << ":" << context.line << " " << context.function << "] " << msg << "\n";ts.flush(); // 确保及时写入outFile.close();
}

安装消息处理 这行必须有,如果不需要输出到文件,直接将下面这行代码注释即可

qInstallMessageHandler(myMessageOutput);

相关文章:

  • 【gRPC】HTTP/2协议,HTTP/1.x中线头阻塞问题由来,及HTTP/2中的解决方案,RPC、Protobuf、HTTP/2 的关系及核心知识点汇总
  • 项目QT+ffmpeg+rtsp(一)——Qt的安装和rtsp的测试
  • python中集合的操作
  • Python 中的 typing.ClassVar 详解
  • 会议分享|高超声速流动测量技术研讨会精彩探析
  • windows下authas调试tomcat
  • 青少年ctf平台应急响应-应急响应1
  • 基于 nvitop+Prometheus+Grafana 的物理资源与 VLLM 引擎服务监控方案
  • 自学嵌入式 day19-数据结构 链表
  • 二水平设计的单次重复
  • 阳台光伏+储能:安科瑞智能计量仪表来助力
  • 学习海康VisionMaster之直方图工具
  • uniapp+vue3页面滚动加载数据
  • 现代计算机图形学Games101入门笔记(十四)
  • 电磁兼容性优化设计在汽车电子芯片中的实践
  • 在 VSCode 中运行 Vue.js 项目
  • 动态范围调整(SEF算法实现)
  • 不清楚的点
  • Visual Studio旧版直链
  • “光伏+储能+智能调控”,CET中电技术分布式智能微网方案如何实现?
  • 法律顾问被控配合他人诈骗酒店资产一审判8年,二审辩称无罪
  • “80后”萍乡市安源区区长邱伟,拟任县(区)委书记
  • 信俗与共:清代新疆回疆儒释道庙宇的中华政教
  • 爬坡难下坡险,居民出行难题如何解?
  • 浙江演艺集团7部作品组团来沪,今夏开启首届上海演出季
  • 外交部部长助理兼礼宾司司长洪磊接受美国新任驻华大使递交国书副本