大型应用程序需要完善的debug及log,用于出错调试以及运行时的日志。gstreamer提供了灵活的调试和日志工具 - Gstreamer调试和日志子系统GstInfo。
Gstreamer的调试和日志子系统是获取应用程序运行状况的途径。只有在Gstreamer程序初始化以后调试子系统才开始运行,比如调用gst_init()进行初始化。
Gstreamer调试和日志子系统在应用程序运行的时候把运行的状况的消息写入到日志,每一条消息都有自己的属性,比如类别,级别等。Gstreamer调试和日志子系统调用所有注册的handler来处理消息,默认的handler是把消息打印到stderr。
在应用程序中通过调用宏来输出日志信息,比如GST_DEBUG,GST_CAT_ERROR_OBJECT。这些宏采用合适的参数调用gst_debug_log()函数来实现。
应用程序通过如下方式定义自己的log类别,首先在代码的开始加入如下内容:
![gstreamer应用程序的调试 gstreamer应用程序的调试](https://i-blog.csdnimg.cn/blog_migrate/d55fe0cc468553dea151464884bb1c3c.jpeg)
然后在开始使用类比之前进行初始化:
![gstreamer应用程序的调试 gstreamer应用程序的调试](https://i-blog.csdnimg.cn/blog_migrate/6c81426474b6dd1e9458f7051a24d7f8.jpeg)
如果是在多个文件中使用,那么就要采用GST_DEBUG_CATEGORY代替GST_DEBUG_CATEGORY_STATIC,同时在其它文件的开头加入下面的代码:
![gstreamer应用程序的调试 gstreamer应用程序的调试](https://i-blog.csdnimg.cn/blog_migrate/41d7711a5250d13e77d76eef1b5385ac.jpeg)
参考文档