Android上的QDebug - 直接写入ADB控制台流

时间:2015-11-26 13:19:05

标签: android c++ qt

使用QDebug流时(如下所示:QDebug()<<"something"),输出在ADB控制台中如下所示:

D/QAppName(18064): ../lib/log/LOGGER.cpp:25 (virtual void QTLog::Put(const char*, int)): something

我有自己的库LOGGER.cpp,负责将__FILE____LINE__,线程ID和函数名称添加到输出中。这导致第二个问题,一个库消息的片段散布在行上,因为QDebug认为每个片段都是一条消息(为简洁起见,删除了路径):

D/QApp(18064): [stuff stuff stuff]: I
D/QApp(18064): [stuff stuff stuff]:
D/QApp(18064): [stuff stuff stuff]: 2015-11-26 14:10:06:754
D/QApp(18064): [stuff stuff stuff]:  [
D/QApp(18064): [stuff stuff stuff]: TCPlient          #0
D/QApp(18064): [stuff stuff stuff]: ]
D/QApp(18064): [stuff stuff stuff]: sigConnect
D/QApp(18064): [stuff stuff stuff]:
D/QApp(18064): [stuff stuff stuff]: test MT

该输出应该是这样的:

I 2015-11-26 14:10:06:754 [TCPlient          #0] sigConnect test MT

所以我需要通过Qt或其他方式直接访问ADB输出流。如果可能,此解决方案也应该适用于IOS。

0 个答案:

没有答案