- 实现rtc::LogSink
#include "webrtc/rtc_base/logging.h"
class MyLogSink : public rtc::LogSink {
public:
MyLogSink() {
time_t rawtime;
struct tm* timeinfo;
char buffer[32] = {0};
time(&rawtime);
timeinfo = localtime(&rawtime);
strftime(buffer, 32, "%Y-%m-%d_%H-%M-%S", timeinfo);
std::string logName(buffer);
logName = "guol_logs/" + logName + ".log";
m_ofLog.open(logName, std::ios::binary | std::ios::app);
}
virtual ~MyLogSink() { m_ofLog.close(); }
virtual void OnLogMessage(const std::string& message) override {
m_ofLog << message;
}
private:
std::ofstream m_ofLog;
};
- 注册日志消费者对象
#include "webrtc/rtc_base/logging.h"
rtc::LogMessage::AddLogToStream(new MyLogSink, rtc::LS_VERBOSE);