众所周知,软件日志对问题的排查可以起到至关重要的作用,但在多人协同开发的情况下,可能会导致不同的人使用不同的日志打印风格,导致日志可阅读性不高。纵观各大知名软件的输出日志,无不有着规范的格式,非常利于阅读。
本日志输出规范仅适用于客户端软件,不适用于服务器端软件。
日志中使用英文,不使用中文。
日志文件采用UTF-8编码。
每条日志的第一个单词的首字母大写,而且每条日志以回车换行符(
\r\n
)结束,不需要写句号.
,如:1
2// RTC_LOG会自动在日志结尾添加\r\n
RTC_LOG(LS_INFO) << "Forced software decoder fallback enabled";不同语义间使用逗号
,
分隔,key-value间使用冒号:
分隔,如:1
2
3RTC_LOG(LS_INFO) << "DataChannel received DATA message, sid: " << sid;
RTC_LOG(LS_INFO) << "Session: " << session_id() << " is destroyed";
RTC_LOG(LS_ERROR) << "Invalid configuration: " << config_error.message();每条日志需要包含日志打印的时间(日期+时间+时区,精确到毫秒)、日志级别。