视频远程通话系统EasyRTC 日志显示调用位置不正确如何优化?

EasyRTC管理平台采用基于Java的SSH架构、MCU模式,系统稳定性高,EasyRTC支持会议录播、实时直播,以更流畅的成像和更低的延时给用户带来不同的视频会议体验,真正实现只要能上网,就能参加视频会议的需求。目前EasyRTC正在进行新架构的研发,对于原有的架构,我们部分做了修改和保留,新架构下的EasyRTC也将在不久后和大家见面。

在 EasyRTC 的新架构中,代码使用了 zerolog 作为产品的日志库,在开启调用显示后,出现显示为当前封装包的位置,不利于问题定位。

如上图显示,所有的调用模块都是 logger.go 的第57行调用的。

查看代码,开启调用者的部分为

log = zerolog.New(multi).With().Timestamp().Caller().Logger()

该行代码为开启 Caller,但是并没有设置对应 Caller 的 Skip 信息,Skip 信息为跳过多少调用者。因为默认显示的都是 logger。

修改代码如下:

log = zerolog.New(multi).With().Timestamp().CallerWithSkipFrameCount(3).Logger()

最终显示出正确的调用处。

EasyRTC在未来的运用中,将不仅仅适用于政府和企业视频会议,还适用于各种大屏场景下的音视频传输,如远程教育培训、多人通话以及室内监控等等,更多的项目使用场景,欢迎大家积极拓宽。

原文地址:https://www.cnblogs.com/TSINGSEE/p/14990352.html