如何关闭GStreamer设置GST_DEBUG参数后仍输出的DEBUG日志
问题解决方法
你看到的这些DEBUG日志不属于GStreamer核心日志体系,是AWS Kinesis Video Producer C SDK的独立日志模块输出的,GST_DEBUG参数仅能控制GStreamer框架及原生插件的日志级别,对该SDK日志不生效,因此调整该参数无法过滤相关日志。
可通过以下方式关闭/过滤日志:
方法1:运行时通过环境变量控制(推荐,Docker环境适用)
KVS SDK提供独立的日志级别控制环境变量AWS_KVS_LOG_LEVEL,不同取值对应日志输出范围:
- 0:关闭所有SDK日志
- 1:仅输出错误日志
- 2:输出错误+警告日志
- 3:输出错误+警告+普通信息日志
- 4及以上:开启DEBUG及更细粒度的调试日志
你只需在启动程序时传入对应环境变量即可,Docker环境下可以在docker run命令中通过-e参数注入:
docker run -e AWS_KVS_LOG_LEVEL=1 其余原有启动参数 镜像名称
设置AWS_KVS_LOG_LEVEL=2及以下即可完全屏蔽示例中的DEBUG日志。
方法2:编译阶段关闭DEBUG日志
如果是自行编译KVS Producer SDK打包镜像,可以在编译时指定Release构建类型,会默认禁用所有DEBUG级别的日志输出:
cmake .. -DCMAKE_BUILD_TYPE=Release
方法3:运行时过滤日志
如果不想修改启动参数或镜像配置,也可以直接在启动命令后加过滤规则,过滤掉DEBUG级别的日志行:
你的原有启动命令 2>&1 | grep -v "DEBUG - "
内容的提问来源于stack exchange,提问作者Dave Johansen
相关产品推荐
相关产品推荐

