1.创建子类继承::rtc::LogSink底层日志类
enum LoggingSeverity {
LS_VERBOSE,
LS_INFO,
LS_WARNING,
LS_ERROR,
LS_NONE,
};
class RtcFileLog : public ::rtc::LogSink {
int SetLogFile(const char* filePath);
int SetLogFileSize(unsigned int size);
}
// 非android
void RtcFileLog::OnLogMessage(const std::string& msg,
::rtc::LoggingSeverity severity) {
...写文件
}
// android
void RtcFileLog::OnLogMessage(const std::string& msg,
::rtc::LoggingSeverity severity, const char* tag) {
...写文件
}
2.创建::rtc::LogSink日志子类,设置回调类到rtc底层进行日志上报
std::unique_ptr<RtcFileLog> m_rtcFileLog;
if (!m_rtcFileLog){
m_rtcFileLog.reset(new RtcFileLog());
}
//初始化日志模块
rtc::LogMessage::LogToDebug(::rtc::LS_INFO);
rtc::LogMessage::LogTimestamps(true);
rtc::LogMessage::LogThreads(true);
//设置写文件路径
m_rtcFileLog->SetLogFile(log_path.c_str());
//添加实现类
rtc::LogMessage::RemoveLogToStream(m_rtcFileLog.get());
rtc::LogMessage::AddLogToStream(m_rtcFileLog.get(), ::rtc::LS_INFO);