GST_DEBUG: как сохранить логи в отдельном файле для потока внутри приложения

Я запускаю пример программы 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?

Рекомендации
Найти аналогичный вопрос

0

Решение

GST_DEBUG_FILE = / tmp / gst.log поместит все записи в этот файл, но для отдельного журнала для отдельных потоков вам нужно будет написать свой собственный обработчик журнала. Взгляните на gstinfo.c и gst_debug_add_log_function.

Что касается вашего Q2, опять же, вам нужно будет написать свой собственный обработчик журнала, если вы хотите, чтобы он начинался с GST, поскольку эти другие поля (метка времени, идентификатор процесса, поток и т. Д.) Включены в обработчик журнала по умолчанию. (снова см. gstinfo.c, gst_debug_log_default)

3

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]