首页| 论坛| 消息

标题:Qt开源作品21-日志重定向输出类
作者:liudianwu
日期:2020-05-27 08:56
内容:

## 一、前言
用qt开发商业程序已经十年了,陆陆续续开发过至少几十个程序,除了一些算不算项目的小工具外,大部分的程序都需要有个日志的输出功能,希望可以将程序的运行状态存储到文本文件或者数据库或者做其他处理等,qt对这个日志输出也做了很好的封装,在Qt4是qInstallMsgHandler,Qt5里边是qInstallMessageHandler,有了这个神器,只要在你的项目中所有qdebug qinfo等输出的日志信息,都会重定向接收到,网上大部分人写的demo都是接收到输出打印日志存储到文本文件,其实这就带给很多人误解,容易产生以为日志只能输出到文本文件,其实安装了日志钩子以后,拿到了所有调试打印信息,你完全可以用来存储到数据库+html有颜色区分格式的文件+网络转发输出(尤其适用于嵌入式linux无界面程序,现场不方便外接调试打印的设备)。
做过的这么多项目中,Qt4和Qt5的都有,我一般保留四个版本,4.8.7,为了兼容qt4, 5.7.0,最后的支持XP的版本, 最新的长期支持版本5.9.7 最高的新版本5.12。毫无疑问,我要封装的这个日志类,也要支持4+5的,而且提供友好的接口。
**主要功能:**
1. 支持动态启动和停止。
2. 支持日志存储的目录。
3. 支持网络发出打印日志。
4. 支持Qt4+Qt5,开箱即用。
5. 支持多线程。
6. 使用做到最简单,start即可。
## 二、代码思路
```c++
//日志重定向
#if (QT_VERSION


#1 [哥依然潇洒 01-09 19:16]
你好,刘大师, 这个过滤关键字u如何实现的啊
#2 回 哥依然潇洒 的帖子 [liudianwu 01-10 09:29]
哥依然潇洒:你好,  刘大师, 这个过滤关键字u如何实现的啊 (2022-01-09 19:16) 
就是contans,然后不同颜色显示,方便查看

回复 发表
主题 版块