/srs_log

调试SRS日志模块SrsFileLog。

Primary LanguageC++

C++音视频流媒体服务器SRS源码框架解读,日志记录SrsFileLog的使用

SRS日志记录 SRS封装了日志类SrsFileLog(输出到文件或控制台)、SrsConsoleLog(输出到控制台),具备常用的日志功能。

功能包括:日期,时间,日志级别,格式化参数列表,pid,上下文ID(方便定位问题,每个协程有个唯一的上下文ID),可输出到控制台或文件等;提供了使用方便的宏接口。

需要注意的地方:配有线程锁,多线程存在抢锁(SRS几乎是单线程运行,所有还好);不能自动分割日志,不处理的话会一直写入同一个文件(SRS提供了手动分割日志方式,详见SRS官网)。

这部分代码还包含了SrsThreadMutex类,对pthread_mutex_t 进行封装,使用时不需要对pthread_mutex_t 进行初始化和销毁,并加入了错误断言。

源码 源码部分,对源码进行了裁减,可以直接使用。上下文SrsContextId使用std::string代替。

编译运行后,在构建目录生成日志文件srs.log,输出日志:

[2023-12-02 12:37:40.558][Trace][8171][ID9527] hello