这是一款基于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版本;
- 适用于多线程环境。