我正在运行gstreamer的示例程序,它正在从C ++应用程序中作为线程调用。已设置GST_DEBUG=*:5
级别以捕获所有可能的方案。
该应用程序还在stdout上打印了大量的日志,而gstreamer线程也是如此(5级增加了痛苦)。
问题 - 有没有办法在具有给定调试级别的文件中分离出gstreamer线程的日志打印?
补充问题 - 根据答案以下答案设置GST_DEBUG_FILE,但文件从某些字符开始,而不是从GST_DEBUG开始,如
0:00:00.000036045 ^[[335m21088^[[00m 0x8405800 ^[[37mLOG ^[[00m ^[[00;01;33m GST_DEBUG gstinfo.c:1329:for_each_threshold_by_entry:^[[00m category default matches pattern 0x8405570 - gets set to level 5
0:00:00.000109741 ^[[335m21088^[[00m 0x8405800 ^[[32;01mINFO ^[[00m ^[[00;01;31m GST_INIT gst.c:613:init_pre:^[[00m Initializing GStreamer Core Library version 0.10.36
0:00:00.000123496 ^[[335m21088^[[00m 0x8405800 ^[[32;01mINFO ^[[00m ^[[00;01;31m GST_INIT gst.c:614:init_pre:^[[00m Using library installed in /usr/lib/i386-linux-gnu
Q2如何删除像" ^ [["从GST开始?
参考
找到了similar个问题
答案 0 :(得分:3)
GST_DEBUG_FILE = / tmp / gst.log会将所有日志记录放入该文件中,但对于单独的线程的单独日志,您需要编写自己的日志处理程序。看看gstinfo.c和gst_debug_add_log_function。
至于你的Q2,如果你想让它从GST开始,你需要编写自己的loghandler,因为这些其他字段(timestamp,process-id,thread等)都包含在默认的loghandler中。 (再次参见gstinfo.c,gst_debug_log_default)
答案 1 :(得分:0)
已经有一段时间了,但是对于任何其他想知道您可以设置GST_DEBUG_NO_COLOR = 1来删除那些特殊字符的人。