Qt打印系统库的日志 - QLoggingCategory

news/2024/4/29 3:19:33/文章来源:https://blog.csdn.net/goldWave01/article/details/137113152

Qt的动态库通过源码可以可以看到含有大量的qCInfoqCDebug 等大量的日志, 但是我们正常运行Qt程序,这些动态库或插件里面的日志是不会输出到我们的控制台里面的。
所以本章主要记录怎么输出这些日志出来。

一: 步骤

主要使用的是Qt的 函数 QLoggingCategory::setFilterRules(), 它可以设置各个日志模块的打印等级。
我们可以在main()函数的第一行这样设置.

代表任何模块的任何等级日志都会输出出来。

#include <QLoggingCategory>
int main(int argc, char *argv[])
{QLoggingCategory::setFilterRules("""*.debug=false\n""*.critical=true\n""*.warning=true\n""*.info=true\n""");QApplication a(argc, argv);MainWindow w;w.show();return a.exec();
}

我们查看控制台就可以发现Qt内容的日志可以查看了,方便追踪问题。
在这里插入图片描述

二: 过滤指定模块

有时候发现某些日志比较多,影响阅读了,可以过滤掉对应模块的日志。
比如 过滤上面日志中 Paint ended. Back buffer valid region is now QRegion(0,0 800x600)这个模块的日志。
我们通过源码搜索可以发现:
这个日志对应的category的方法为: lcQpaBackingStore
在这里插入图片描述
在搜索 lcQpaBackingStore 对应注册的 字符串的名字,就代表这个模块名字。我们现在指定过滤这个模块。
在这里插入图片描述
过滤代码为:
在上面正则后面追加指定模块的格式。
记得每行结尾的\n不能漏了, 不然不会生效。

#include <QLoggingCategory>
int main(int argc, char *argv[])
{QLoggingCategory::setFilterRules("""*.debug=false\n""*.critical=true\n""*.warning=true\n""*.info=true\n""qt.qpa.backingstore.debug=false\n""qt.qpa.backingstore.info=false\n"QApplication a(argc, argv);MainWindow w;w.show();return a.exec();
}

具体格式可以参考Qt官方说明:https://doc.qt.io/qt-6/qloggingcategory.html#configuring-categories
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_1027888.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

macOS 13 Ventura (苹果最新系统) v13.6.6正式版

macOS 13 Ventura是苹果电脑的全新操作系统&#xff0c;它为用户带来了众多引人注目的新功能和改进。该系统加强了FaceTime和视频通话的体验&#xff0c;同时优化了邮件、Safari浏览器和日历等内置应用程序&#xff0c;使其更加流畅、快速和安全。特别值得一提的是&#xff0c;…

基于51单片机的客车汽车安全气囊控制器Proteus仿真

地址&#xff1a;https://pan.baidu.com/s/10enj1EYm_0Z8f_19Sz_eCQ 提取码&#xff1a;1234 仿真图&#xff1a; 芯片/模块的特点&#xff1a; AT89C52简介&#xff1a; AT89C52是一款经典的8位单片机&#xff0c;是意法半导体&#xff08;STMicroelectronics&#xff09;公…

[创建型模型] 原型模式

一 介绍 原型设计模式&#xff0c;允许通过复制已有对象的实例&#xff0c;来创建新的对象&#xff0c;并且不需要显示的实例化过程。 目的是通过复制现有对象来创建新对象&#xff0c;从而减少了对象的实例化开销。(避免了一些数据的初始化,读取,加载数据&#xff0c;资源的…

原生 HTML/CSS/JS 实现右键菜单和二级菜单

文章来源&#xff1a;www.huhailong.vip 站点 文章源地址&#xff1a;https://www.huhailong.vip/article/1764653112011841538 Demo效果演示地址 先看效果图 {{{width“auto” height“auto”}}} 需要注意的就是边界检测处理&#xff0c;到极端点击底部和右侧时如果不做处理会…

外包干了8天,技术退步明显.......

先说一下自己的情况&#xff0c;大专生&#xff0c;19年通过校招进入杭州某软件公司&#xff0c;干了接近4年的功能测试&#xff0c;今年年初&#xff0c;感觉自己不能够在这样下去了&#xff0c;长时间呆在一个舒适的环境会让一个人堕落! 而我已经在一个企业干了四年的功能测…

React系列之框架特点和组件类型

文章目录 ReactMVC MVP MVVM单/双向数据绑定React特点JSX 组件和不同类型 React MVC MVP MVVM Web设计模式&#xff0c;通过分离模块来改进代码的组织方式。 MVC 是 Model View Controller 的缩写。 Model&#xff1a;模型层&#xff0c;数据相关的操作。View&#xff1a;视…

linux 环境安装配置

安装java17 1.下载安装包 wget https://download.oracle.com/java/17/latest/jdk-17_linux-x64_bin.tar.gz 2.解压到自定义目录/usr/local/java mkdir /usr/local/java tar zxvf jdk-17_linux-x64_bin.tar.gz -C /usr/local/java 3.配置环境变量 echo export PATH$PATH:/…

Mac添加和关闭开机应用

文章目录 mac添加和关闭开机应用添加开机应用删除/查看 mac添加和关闭开机应用 添加开机应用 删除/查看 打开&#xff1a;系统设置–》通用–》登录项–》查看登录时打开列表 选中打开项目&#xff0c;点击“-”符号

Vue指令之v-bind

v-bind用于动态设置html的标签属性&#xff0c;如src、url、title等&#xff0c;因为插值表达式{{}}没有办法用在标签属性上&#xff0c;需要用到其他工具。 比如前端要根据后端传来的参数&#xff0c;动态的显示图片&#xff0c;就需要把图片的src属性绑定到Vue实例的一个变量…

ensp中pc机访问不同网络的服务器

拓扑图如下&#xff0c;资源已上传 说明&#xff1a;pc通过2个路由访问server服务器 三条线路分别是192.168.1.0网段&#xff0c;192.168.2.0网段和192.168.3.0网段&#xff0c;在未配置的情况下&#xff0c;pc设备是访问不到server的 具体操作流程 第一&#xff1b;pc设备…

星光/宝骏/缤果/长安 车机CarPlay手机操作破解教程V2.0版本(无需笔记本、无需笔记本、无需笔记本)

之前写了个1.0版本&#xff0c;由于太局限&#xff0c;需要用到笔记本才能操作&#xff0c;很多车友反馈不方便。特此出个手机版教程&#xff0c;简单easy&#xff0c;妈妈再也不用担心我搞不定啦 一、准备工作 先卸载车机上的autokit 或者 智能互联 app&#xff0c;这步很关…

RPA使用Native Messaging协议实现浏览器自动化

RPA 即机器人流程自动化&#xff0c;是一种利用软件机器人或人工智能来自动化业务流程中规则性、重复性任务的技术。RPA 技术可以模拟和执行人类在计算机上的交互操作&#xff0c;从而实现自动化处理数据、处理交易、触发通知等任务。帮助企业或个人实现业务流程的自动化和优化…

Apache ActiveMQ OpenWire 协议反序列化命令执行漏洞分析 CVE-2023-46604

Apache ActiveMQ 是美国阿帕奇&#xff08;Apache&#xff09;软件基金会所研发的一套开源的消息中间件&#xff0c;它支持Java消息服务、集群、Spring Framework等。 OpenWire协议在ActiveMQ中被用于多语言客户端与服务端通信。在Apache ActiveMQ 5.18.2版本及以前&#xff0…

多源统一视频融合可视指挥调度平台VMS/smarteye系统概述

系统功能 1. 集成了视频监控典型的常用功能&#xff0c;包括录像&#xff08;本地录像、云端录像&#xff08;录像计划、下载计划-无线导出&#xff09;、远程检索回放&#xff09;、实时预览&#xff08;PTZ云台操控、轮播、多屏操控等&#xff09;、地图-轨迹回放、语音对讲…

Node爬虫:原理简介

在数字化时代&#xff0c;网络爬虫作为一种自动化收集和分析网络数据的技术&#xff0c;得到了广泛的应用。Node.js&#xff0c;以其异步I/O模型和事件驱动的特性&#xff0c;成为实现高效爬虫的理想选择。然而&#xff0c;爬虫在收集数据时&#xff0c;往往面临着诸如反爬虫机…

葵花卫星影像应用场景及数据获取

一、卫星参数 葵花卫星是由中国航天科技集团公司研制的一颗光学遥感卫星&#xff0c;代号CAS-03。该卫星于2016年11月9日成功发射&#xff0c;位于地球同步轨道&#xff0c;轨道高度约为35786公里&#xff0c;倾角为0。卫星设计寿命为5年&#xff0c;搭载了高分辨率光学相机和多…

API安全-WAAP全站防护

在当今数字时代&#xff0c;移动应用的数量呈爆炸性增长&#xff0c;涵盖金融、电子商务、社区、医疗、房地产、工业等各行各业。在给人类带来便利的同时&#xff0c;也给黑客带来了可乘之机&#xff0c;移动黑产也越来越强大&#xff0c;他们的重点是从传统的PC网站转移到移动…

Python中模块

基本概念 **模块 module&#xff1a;**一般情况下&#xff0c;是一个以.py为后缀的文件 ①Python内置的模块&#xff08;标准库&#xff09;&#xff1b; ②第三方模块&#xff1b; ③自定义模块。 包 package&#xff1a; 当一个文件夹下有 init .py时&#xff0c;意为该文…

【MySQL】数据库--表操作

目录 一、创建表 二、查看表 三、修改表 1. 添加字段--add 2.修改表名--rename to 3.修改列名--change 4.修改字段的数据类型--modify 5.删除字段&#xff08;列&#xff09;--drop 四、删除表 一、创建表 create [temporary]table[if not exists]table_name [([colu…

mac 系统如何生成秘钥

1.打开终端&#xff0c;输入 cd ~/.ssh 进入.ssh目录&#xff0c;输入 ls 检查是否已经存在SSH密钥。如果看到类似 id_rsa.pub 的文件&#xff0c;说明已经有一对公钥和私钥&#xff0c;不用新建&#xff0c;直接查看就可以&#xff0c;如果没有需要生成新的密钥。 2.在终端输…