Advertisement

Qt开发的调试日志输出工具,支持网络转发(开源)。

  •  5星
  •     浏览量: 0
  •     大小:None
  •      文件类型:None


简介:
经过九年的实践,我利用Qt框架开发了大量的商业应用程序,累积了数十个程序的经验。除了少量的辅助性小工具项目外,绝大多数程序都需要具备记录运行状态的功能。Qt框架对此日志输出进行了精细的封装,在Qt4版本中采用了qInstallMsgHandler,而在Qt5版本中则使用了qInstallMessageHandler。凭借这一强大的工具,项目中的所有qdebug和qinfo等输出的日志信息都能够被成功重定向接收。 普遍存在的网上示例通常是将接收到的日志输出打印到文本文件中进行存储,然而这容易导致一些误解,让人认为日志只能输出到文本文件。实际上,安装了日志钩子之后,您可以轻松获取所有调试打印信息,并将其用于存储到数据库、生成具有颜色区分和格式化的HTML文件以及进行网络转发(尤其适用于嵌入式Linux无界面程序,在现场无法外接调试打印设备)。 在我所参与的众多项目中,既有基于Qt4的开发案例,也有基于Qt5的开发案例。为了保证兼容性,我通常会保留四个版本的代码:4.8.7、5.7.0以及支持XP系统的最新长期支持版本5.9.7、最新的稳定版本5.12。毫无疑问,我所要封装的日志类也需要同时支持4和5的版本,并且提供一个用户友好的接口。该类应具备以下关键特性:1)支持动态启动和停止功能;2)允许用户自定义日志存储的目录;3)支持通过网络发送打印日志信息;4)确保与Qt4和Qt5版本完全兼容;5)开箱即用且支持多线程环境。

全部评论 (0)

还没有任何评论哟~
客服
客服
  • 基于Qt
    优质
    这是一款基于Qt框架开发的开源软件,提供强大的调试日志输出功能,并能实时将日志信息通过网络进行转发。适合开发者在项目中使用和二次开发。 用Qt开发商业程序已有九年时间,在这期间我完成了至少几十个项目的开发。除了少数小工具外,大部分项目都需要一个日志输出功能来记录程序的运行状态,并将这些数据存储到文本段落件、数据库或进行其他处理等操作中。Qt为这一需求提供了很好的支持:在Qt4版本里是qInstallMsgHandler,在Qt5则是qInstallMessageHandler。只要安装了这个钩子,项目中的所有QDebug和QInfo输出的信息都会被重定向并接收。 网上有很多例子展示了如何将日志信息存储到文本段落件中,这可能会让人误以为日志只能以这种方式处理。但实际上,一旦接收到所有的调试打印信息后,可以将其存入数据库、生成带颜色区分格式的HTML文件或在网络上传输(特别适用于没有图形界面的嵌入式Linux程序,在这种情况下现场调试可能不方便)。在我的项目经验中,我使用过Qt4和Qt5版本,并保留了四个主要版本:4.8.7用于兼容性;5.7.0作为旧版支持XP系统的最后版本;最新的长期支持版本为5.9.7;最高新版本则是5.12。因此,我要创建的日志类需要同时适应这两个系列的Qt环境,并提供友好且易于使用的接口。 具体而言,该日志类将具备以下特性: - 动态启动和停止功能; - 支持自定义日志存储路径; - 能够通过网络发送打印信息; - 兼容Qt4与Qt5版本; - 适用于多线程环境。
  • QT串口.rar
    优质
    这是一个基于Qt框架编写的串口调试工具软件源代码压缩包。该工具主要用于开发者在进行嵌入式系统或单片机项目时对串口通信设备进行配置与调试,提供了丰富的功能帮助用户高效地完成数据发送接收等操作。 串口调试助手具备串口扫描、连接设置(包括校验位选择、停止位选择)、数据发送与接收等功能,适用于Qt4及其以上版本的开发环境。代码经过测试可以正常运行,无问题。
  • Qt串口V2018
    优质
    Qt开发的串口调试工具V2018是一款基于Qt框架构建的专业化串行通信调试软件。它为用户提供了一个功能强大且易于使用的界面来配置和测试串口设备,适用于多种硬件平台上的嵌入式系统与计算机应用开发。 基本功能: 1. 支持发送与接收16进制数据。 2. 兼容Windows系统下COM9以上的串口通信。 3. 实时显示收发的数据字节数以及串口状态。 4. 适用于任意版本的Qt,已测试过的版本包括:4.7.0、4.8.5、4.8.7、5.4.1、5.7.0和5.8.0。 5. 支持通过网络进行数据收发。 高级功能: 1. 可以自由管理需要发送的数据,只需从下拉框中选择即可,无需重新输入数据。 2. 能够模拟设备回复数据。在主界面开启该功能后,在接收到预设指令时会立即返回相应的回应指令。例如,如果设定当收到0x16 0x00 0xFF 0x01时需要回复0x16 0x00 0xFE 0x01,则只需在SendData.txt中添加一条记录:16 00 FF 01:16 00 FE 01。 3. 支持定时发送数据并保存到文本段落件,默认间隔为5秒,可以调整时间间隔。 4. 当不断接收到大量数据时,可以暂停显示这些数据以便查看具体内容。此时后台继续接收但不处理数据,无需关闭串口来检查已接收到的数据。 5. 每次接收到来的是完整的一条数据而非碎片化的信息,并且做了相应的延时处理以保证完整性。 6. 该软件的源代码能够在多种操作系统上编译运行,包括Windows XP、Windows 7、Ubuntu和ARMLinux等。
  • 好用Unity手机端LogViewer
    优质
    简介:LogViewer是一款专为Unity开发者设计的手机端日志查看工具,支持便捷地浏览和分析应用程序在移动端设备上的运行信息,帮助开发人员快速定位问题。 LogViewer是一款非常实用的Unity手机端调试输出日志工具。它可以帮助开发者更方便地查看和分析应用程序的日志信息,从而提高开发效率。
  • Qt 打印系统,存储、窗口展示及功能
    优质
    本Qt日志打印系统集成了先进的日志管理功能,包括存储、实时窗口显示和远程数据传输,极大方便了开发者进行调试与维护。 一套成熟的系统通常会配备相应的日志系统以方便调试和查看。对于Qt的打印信息,默认处理程序会在X11环境下将消息输出到标准输出,在Windows环境下则发送至调试器中。实际上,我们可以自定义这些打印信息的处理方式,例如选择保存、界面显示或网络传输等操作。通过使用`qInstallMessageHandler(QtMessageHandler handler)`函数,可以轻松构建符合需求的日志系统,并实现日志的保存、过期删除、窗口内展示以及在网络中的传递等功能。
  • 基于Qt5.8串口.rar
    优质
    这是一个基于Qt5.8框架编写的串口和网络调试工具软件包。它提供了便捷的功能来帮助开发者测试和调试串口及网络通信应用,适用于Windows、Linux等操作系统环境。 基于Qt5.8与VS2015开发的网络串口调试工具详细介绍如下:压缩包内含可执行程序及源代码,总代码量约为4K行(包括注释),仅供学习交流使用。
  • Qt重定向qInstallMessageHandler,文件和
    优质
    本篇文章介绍了如何使用Qt框架中的qInstallMessageHandler函数实现日志重定向,并展示了如何将消息输出到文件或通过网络发送。 Qt日志可以通过使用qInstallMessageHandler函数将输出重定向至文件或网络。这种方法提供了灵活的日志处理方式,使得开发者可以根据需要自定义日志的存储位置与格式。通过实现自己的消息处理器,可以方便地控制日志信息的生成和传输过程。
  • JSON-Logger-JS:简洁高效JSON格式-
    优质
    JSON-Logger-JS是一款轻量级的日志记录库,采用JSON格式输出,便于数据解析和存储。它以简洁高效的设计理念,为开发者提供灵活的日志解决方案。 @emartech/json-logger 是一个轻量级且快速的日志库,能够以 JSON 格式输出日志。它具备基于命名空间的启用/禁用机制,并拥有与之相同的日志级别设置。 安装方法如下: ```shell npm install @emartech/json-logger ``` 使用示例: 在环境变量中指定需要记录的日志名称,例如 `process.env.DEBUG = redis;`。然后引入所需的库实例并进行配置和调用。 ```javascript const mongoLogger = require(@emartech/json-logger)(mongo); const redisLogger = require(@emartech/json-logger)(redis); redisLogger.info(connected, { domain: yahoo }); ``` 以上代码会输出如下格式的日志: ```json { name: redis, action: connected } ```
  • C/C++(DWARF)
    优质
    本工具为C/C++开发者提供全面的DWARF调试信息支持,增强代码分析、调试及优化能力,助力高效软件开发与维护。 C/C++ DevTools Support (DWARF)离线安装包包含crx文件。如果不知道如何安装google crx文件,请自行搜索相关信息。
  • TCP 和 UDP
    优质
    这是一款强大的网络调试工具,支持TCP和UDP协议,提供全面的数据包分析、网络诊断及性能测试功能,助力开发者高效解决网络问题。 网络调试助手是一款用于帮助用户进行网络调试的工具。它可以有效地解决各种网络连接问题,并提供详细的诊断报告以方便用户的使用。通过不断优化和完善功能,该工具旨在为用户提供更加便捷、高效的网络环境支持服务。