实现目的

完全仿照qDebug的打印方式,不对原有代码进行修改,如下:

qDebug() << 1 << "str" << 1.11;

避免qInstallMessageHandler可能带来的崩溃问题,文章位置https://blog.csdn.net/qq_34534425/article/details/115703971?spm=1001.2014.3001.5502

直接上代码

#ifdef qDebug#undef qDebug
#endif#ifdef qInfo#undef qInfo
#endif#ifdef qWarning#undef qWarning
#endif

用于屏蔽Qt原有定义

class BasePrint
{
public:virtual ~BasePrint(){}template<class T>BasePrint &operator<<(const T &t){m_osStream << t << " ";return *this;}std::ostringstream m_osStream;
};

基类核心代码,用于操作符重载

class qDebug: public BasePrint
{
public:~qDebug(){DEBUG(m_osStream.str().c_str());}
};

子类继承,可实现qInfo,qWarning等日志等级,在析构中统一输出日志。

一个猜测: qDebug() << 1 << "str" << 1.11;,这样的实现方式,qDebug的作用于只在;前,所以可以在析构中实现日志的统一输出,如果有清楚原理的朋友可探讨下。

完整代码链接

目前需要赚积分阶段,希望谅解,代码直接放到项目中可以使用。

把宏定义部分替换为自己的就行

两个版本:

版本一:只有头文件,包含路径就行,不需要添加到项目中

qDebug重定向代码-C++文档类资源-CSDN下载

版本二:有.h和.cpp,可用于项目中实现日志的屏蔽,版本一的改良版

qDebug重写,用于日志打印的重定向-C++文档类资源-CSDN下载

qDebug重定向(二)相关推荐

  1. qdebug重定向_qDebug重定向到写入文件以及显示在界面控件上

    qdebug重定向到文件就很简单了,度娘一大把,不献丑了. 然后想把qdebug打印到ui的textedit上,却没找到好文章,经过测试特分享. 说白了,因为qdebug定向时用到了全局函数,那么te ...

  2. qdebug重定向_每个Qter都该知道的qDebug

    在项目的开发中,当我们调试程序时,最常用的就是打印信息了,Qt为我们提供了非常方便的打印信息类QDebug. 大家应该已经很熟练的使用QDebug了,但也许有些地方并没有注意到,下面小豆君就介绍一下Q ...

  3. Qt重定向QDebug,自定义一个简易的日志管理类

    0.前言 相对于第三方的日志库,在 Qt 中使用 QDebug 打印更便捷,有时候也需要对 QDebug 输出进行重定向,如写入文件等. 在 Qt4 中使用 qInstallMsgHandler 函数 ...

  4. 组策略 之 文件夹重定向

    作用:防止域用户保存在特定位置(例如,桌面,我的文档等)的文件因为系统损坏而丢失,文件夹重定向的作用就是把这些文件另存为到一个指定的位置. 一般单位普通的用户有在桌面保存文件的习惯,这次实验我们就拿桌 ...

  5. 1-6:学习shell之重定向

    文章目录 一:标准输入,标准输出和标准错误 (1):标准输出重定向 A:`>`重定向 B:`>>`重定向 (2):标准错误重定向 (3):将标准输出和标准错误重定向到同一个文件中 ( ...

  6. nginx配置url重定向-反向代理

    本文系统:Centos6.5_x64 三台主机:nginx主机,hostname: master.lansgg.com  IP: 192.168.10.128 apache主机,hostname: c ...

  7. (二)Qt多线程实现海康工业相机图像实时采集

    系列文章目录 提示:这里是该系列文章的所有文章的目录 第一章: (一)Qt+OpenCV调用海康工业相机SDK示例开发 第二章: (二)Qt多线程实现海康工业相机图像实时采集 文章目录 系列文章目录 ...

  8. 忙碌的service(服务员)可能遇到要转发或者重定向的情况

    文章目录 前言 一.什么情况下使用转发和重定向 二.再说下重定向吧 二.简单说下转发和重定向的异同 前言 当我们在访问一个网页的时候可能会不挺的实现页面之间的跳转,有时这种跳转还连带着一些数据,最常见 ...

  9. echo重定向和cat重定向

    目录 一.cat重定向 二.echo重定向 一.简单的cat exho重定向 cat重定向: (1)先创建两个文件:touch 1.txt 2.txt (2)将文件1.txt的内容写入2.txt  : ...

最新文章

  1. 恢复Linux误删除文件系列之scalpel工具
  2. 【《Objective-C基础教程 》笔记】(八)OC的基本事实和OC杂七杂八的疑问
  3. 深入理解分布式技术 - 分库分表后的扩容解决方案
  4. QT的QSGGeometry类的使用
  5. [蓝桥杯][2019年第十届真题]外卖店优先级(模拟)
  6. 初学JavaWeb,前端css要不要了解一下啊?一文学会JavaWeb中css的简单应用
  7. APP自动化测试-Appium日志分析
  8. 通过hosts文件配置域名ip
  9. mac 命令修改dns服务器,MAC设置DNS的步骤
  10. 云可信 数未来| 中国电子云总部揭牌
  11. 如何给微信公众号增加留言功能?
  12. windows 下用开源流媒体压力测试工具 rtmpstress 测试RTMP媒体服务器负载性能
  13. 离散数学(二):命题公式的等值演算
  14. SS7网络中的短消息服务(SMS): 使用模块化设备优化利润
  15. colorkey唇釉是否安全_colorkey唇釉安全吗-colorkey唇釉真假辨别
  16. 问题 : 我们的征途是星辰大海
  17. SCI/ISTP和EI论文检索号IDS number和收录号查询方法
  18. 人民币贬值将引发富豪破产潮?
  19. Matplotlib绘图---折线图---线条颜色和风格,坐标轴范围(上)
  20. python中系统找不到指定文件怎么办,Python“系统找不到指定的文件”

热门文章

  1. Java后端接口开发详细教程
  2. Angular2 中setTimeOut 回调函数未定义问题
  3. 常用VERILOG开源网站
  4. 彭蕾:阿里的人才观,其实很简单,就4个词,8个字
  5. 可道云源码php,Kodexplorer可道云 v4.25
  6. c、c++ 常用API汇总
  7. CPU加电后第一条指令
  8. bash之for语句
  9. fmcw matlab仿真,干货 | 利用MATLAB实现FMCW雷达的角度估计
  10. 两个读书笔记:springboot+vue.js分布式组件全栈开发训练营 + 大数据开发基础