2

I am running a sample program of gstreamer which is being called from a C++ application as a thread. Have set the GST_DEBUG=*:5 level to capture all the possible scenarios.

The application also prints lots and lots of logs on stdout and the gstreamer thread also does the same( the level 5 adds to the misery).

Question -- Is there a way to separate out the log printing of gstreamer thread in a file with the given debug level ?

Supplementary question -- Set the GST_DEBUG_FILE based on answer below answer but the file starts from some characters and not from GST_DEBUG like

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 How to remove these characters like "^[[" and start from GST ?

References
Found a similar question

4

2 に答える 2

6

GST_DEBUG_FILE=/tmp/gst.log はすべてのログをそのファイルに書き込みますが、個別のスレッドの個別のログについては、独自のログハンドラーを記述する必要があります。gstinfo.c と gst_debug_add_log_function を見てください。

Q2 についても、GST から開始する場合は、独自のログハンドラーを作成する必要があります。これは、これらの他のフィールド (タイムスタンプ、プロセス ID、スレッドなど) がデフォルトのログハンドラーに含まれているためです。(再び gstinfo.c、gst_debug_log_default を参照)

于 2013-08-26T06:24:08.823 に答える