diff --git a/trunk/src/app/srs_app_log.cpp b/trunk/src/app/srs_app_log.cpp index 2a07c9580..034c8e892 100644 --- a/trunk/src/app/srs_app_log.cpp +++ b/trunk/src/app/srs_app_log.cpp @@ -205,6 +205,10 @@ void SrsFastLog::error(const char* tag, int context_id, const char* fmt, ...) int SrsFastLog::on_reload_log_tank() { int ret = ERROR_SUCCESS; + + if (!_srs_config) { + return ret; + } bool tank = log_to_file_tank; log_to_file_tank = _srs_config->get_log_tank_file(); @@ -229,6 +233,10 @@ int SrsFastLog::on_reload_log_level() { int ret = ERROR_SUCCESS; + if (!_srs_config) { + return ret; + } + _level = srs_get_log_level(_srs_config->get_log_level()); return ret; @@ -237,6 +245,10 @@ int SrsFastLog::on_reload_log_level() int SrsFastLog::on_reload_log_file() { int ret = ERROR_SUCCESS; + + if (!_srs_config) { + return ret; + } if (!log_to_file_tank) { return ret; @@ -345,6 +357,10 @@ void SrsFastLog::write_log(int& fd, char *str_log, int size, int level) void SrsFastLog::open_log_file() { + if (!_srs_config) { + return; + } + std::string filename = _srs_config->get_log_file(); if (filename.empty()) { diff --git a/trunk/src/app/srs_app_log.hpp b/trunk/src/app/srs_app_log.hpp index 44de104fe..b17b936ee 100644 --- a/trunk/src/app/srs_app_log.hpp +++ b/trunk/src/app/srs_app_log.hpp @@ -57,6 +57,8 @@ public: /** * we use memory/disk cache and donot flush when write log. +* it's ok to use it without config, which will log to console, and default trace level. +* when you want to use different level, override this classs, set the protected _level. */ class SrsFastLog : public ISrsLog, public ISrsReloadHandler { @@ -64,6 +66,7 @@ class SrsFastLog : public ISrsLog, public ISrsReloadHandler protected: // defined in SrsLogLevel. int _level; +private: char* log_data; // log to file if specified srs_log_file int fd; diff --git a/trunk/src/utest/srs_utest.cpp b/trunk/src/utest/srs_utest.cpp index 50a3bd232..4b6744389 100644 --- a/trunk/src/utest/srs_utest.cpp +++ b/trunk/src/utest/srs_utest.cpp @@ -45,21 +45,6 @@ MockEmptyLog::~MockEmptyLog() { } -int MockEmptyLog::on_reload_log_tank() -{ - return ERROR_SUCCESS; -} - -int MockEmptyLog::on_reload_log_level() -{ - return ERROR_SUCCESS; -} - -int MockEmptyLog::on_reload_log_file() -{ - return ERROR_SUCCESS; -} - void __srs_bytes_print(char* pa, int size) { for(int i = 0; i < size; i++) { diff --git a/trunk/src/utest/srs_utest.hpp b/trunk/src/utest/srs_utest.hpp index b8f522b70..44160201f 100644 --- a/trunk/src/utest/srs_utest.hpp +++ b/trunk/src/utest/srs_utest.hpp @@ -61,10 +61,6 @@ private: public: MockEmptyLog(int level); virtual ~MockEmptyLog(); -public: - virtual int on_reload_log_tank(); - virtual int on_reload_log_level(); - virtual int on_reload_log_file(); }; #endif