Disable reload for log config.

pull/3115/head
winlin 3 years ago
parent cb6a4d0143
commit e05535267b

@ -22,23 +22,28 @@ chunk_size 60000;
# the log dir for FFMPEG.
# if enabled ffmpeg, each transcoding stream will create a log file.
# /dev/null to disable the log.
# Note: Do not support reloading, for SRS5+
# default: ./objs
ff_log_dir ./objs;
# the log level for FFMPEG.
# info warning error fatal panic quiet
# trace debug verbose
# Note: Do not support reloading, for SRS5+
# default: info
ff_log_level info;
# the log tank, console or file.
# if console, print log to console.
# if file, write log to file. requires srs_log_file if log to file.
# Note: Do not support reloading, for SRS5+
# default: file.
srs_log_tank console;
# the log level, for all log tanks.
# can be: verbose, info, trace, warn, error
# Note: Do not support reloading, for SRS5+
# default: trace
srs_log_level trace;
# when srs_log_tank is file, specifies the log file.
# Note: Do not support reloading, for SRS5+
# default: ./objs/srs.log
srs_log_file ./objs/srs.log;
# the max connections.
@ -52,6 +57,7 @@ daemon off;
# whether use utc_time to generate the time struct,
# if off, use localtime() to generate it,
# if on, use gmtime() instead, which use UTC time.
# Note: Do not support reloading, for SRS5+
# default: off
utc_time off;
# config for the pithy print in ms,

@ -1530,34 +1530,6 @@ srs_error_t SrsConfig::reload_conf(SrsConfig* conf)
}
}
// merge config: pid
if (!srs_directive_equals(root->get("pid"), old_root->get("pid"))) {
if ((err = do_reload_pid()) != srs_success) {
return srs_error_wrap(err, "pid");;
}
}
// merge config: srs_log_tank
if (!srs_directive_equals(root->get("srs_log_tank"), old_root->get("srs_log_tank"))) {
if ((err = do_reload_srs_log_tank()) != srs_success) {
return srs_error_wrap(err, "log tank");;
}
}
// merge config: srs_log_level
if (!srs_directive_equals(root->get("srs_log_level"), old_root->get("srs_log_level"))) {
if ((err = do_reload_srs_log_level()) != srs_success) {
return srs_error_wrap(err, "log level");;
}
}
// merge config: srs_log_file
if (!srs_directive_equals(root->get("srs_log_file"), old_root->get("srs_log_file"))) {
if ((err = do_reload_srs_log_file()) != srs_success) {
return srs_error_wrap(err, "log file");;
}
}
// merge config: max_connections
if (!srs_directive_equals(root->get("max_connections"), old_root->get("max_connections"))) {
if ((err = do_reload_max_connections()) != srs_success) {
@ -1565,13 +1537,6 @@ srs_error_t SrsConfig::reload_conf(SrsConfig* conf)
}
}
// merge config: utc_time
if (!srs_directive_equals(root->get("utc_time"), old_root->get("utc_time"))) {
if ((err = do_reload_utc_time()) != srs_success) {
return srs_error_wrap(err, "utc time");;
}
}
// merge config: pithy_print_ms
if (!srs_directive_equals(root->get("pithy_print_ms"), old_root->get("pithy_print_ms"))) {
if ((err = do_reload_pithy_print_ms()) != srs_success) {
@ -2167,70 +2132,6 @@ srs_error_t SrsConfig::do_reload_listen()
return err;
}
srs_error_t SrsConfig::do_reload_pid()
{
srs_error_t err = srs_success;
vector<ISrsReloadHandler*>::iterator it;
for (it = subscribes.begin(); it != subscribes.end(); ++it) {
ISrsReloadHandler* subscribe = *it;
if ((err = subscribe->on_reload_pid()) != srs_success) {
return srs_error_wrap(err, "notify subscribes reload pid failed");
}
}
srs_trace("reload pid success.");
return err;
}
srs_error_t SrsConfig::do_reload_srs_log_tank()
{
srs_error_t err = srs_success;
vector<ISrsReloadHandler*>::iterator it;
for (it = subscribes.begin(); it != subscribes.end(); ++it) {
ISrsReloadHandler* subscribe = *it;
if ((err = subscribe->on_reload_log_tank()) != srs_success) {
return srs_error_wrap(err, "notify subscribes reload srs_log_tank failed");
}
}
srs_trace("reload srs_log_tank success.");
return err;
}
srs_error_t SrsConfig::do_reload_srs_log_level()
{
srs_error_t err = srs_success;
vector<ISrsReloadHandler*>::iterator it;
for (it = subscribes.begin(); it != subscribes.end(); ++it) {
ISrsReloadHandler* subscribe = *it;
if ((err = subscribe->on_reload_log_level()) != srs_success) {
return srs_error_wrap(err, "notify subscribes reload srs_log_level failed");
}
}
srs_trace("reload srs_log_level success.");
return err;
}
srs_error_t SrsConfig::do_reload_srs_log_file()
{
srs_error_t err = srs_success;
vector<ISrsReloadHandler*>::iterator it;
for (it = subscribes.begin(); it != subscribes.end(); ++it) {
ISrsReloadHandler* subscribe = *it;
if ((err = subscribe->on_reload_log_file()) != srs_success) {
return srs_error_wrap(err, "notify subscribes reload srs_log_file failed");
}
}
srs_trace("reload srs_log_file success.");
return err;
}
srs_error_t SrsConfig::do_reload_max_connections()
{
srs_error_t err = srs_success;
@ -2247,22 +2148,6 @@ srs_error_t SrsConfig::do_reload_max_connections()
return err;
}
srs_error_t SrsConfig::do_reload_utc_time()
{
srs_error_t err = srs_success;
vector<ISrsReloadHandler*>::iterator it;
for (it = subscribes.begin(); it != subscribes.end(); ++it) {
ISrsReloadHandler* subscribe = *it;
if ((err = subscribe->on_reload_utc_time()) != srs_success) {
return srs_error_wrap(err, "utc_time");
}
}
srs_trace("reload utc_time success.");
return err;
}
srs_error_t SrsConfig::do_reload_pithy_print_ms()
{
srs_error_t err = srs_success;

@ -349,12 +349,7 @@ public:
virtual srs_error_t raw_to_json(SrsJsonObject* obj);
private:
virtual srs_error_t do_reload_listen();
virtual srs_error_t do_reload_pid();
virtual srs_error_t do_reload_srs_log_tank();
virtual srs_error_t do_reload_srs_log_level();
virtual srs_error_t do_reload_srs_log_file();
virtual srs_error_t do_reload_max_connections();
virtual srs_error_t do_reload_utc_time();
virtual srs_error_t do_reload_pithy_print_ms();
virtual srs_error_t do_reload_vhost_added(std::string vhost);
virtual srs_error_t do_reload_vhost_removed(std::string vhost);

@ -198,73 +198,6 @@ void SrsFileLog::error(const char* tag, SrsContextId context_id, const char* fmt
write_log(fd, log_data, size, SrsLogLevelError);
}
srs_error_t SrsFileLog::on_reload_utc_time()
{
utc = _srs_config->get_utc_time();
return srs_success;
}
srs_error_t SrsFileLog::on_reload_log_tank()
{
srs_error_t err = srs_success;
if (!_srs_config) {
return err;
}
bool tank = log_to_file_tank;
log_to_file_tank = _srs_config->get_log_tank_file();
if (tank) {
return err;
}
if (!log_to_file_tank) {
return err;
}
if (fd > 0) {
::close(fd);
}
open_log_file();
return err;
}
srs_error_t SrsFileLog::on_reload_log_level()
{
srs_error_t err = srs_success;
if (!_srs_config) {
return err;
}
level = srs_get_log_level(_srs_config->get_log_level());
return err;
}
srs_error_t SrsFileLog::on_reload_log_file()
{
srs_error_t err = srs_success;
if (!_srs_config) {
return err;
}
if (!log_to_file_tank) {
return err;
}
if (fd > 0) {
::close(fd);
}
open_log_file();
return err;
}
void SrsFileLog::write_log(int& fd, char *str_log, int size, int level)
{
// ensure the tail and EOF of string

@ -56,12 +56,6 @@ public:
virtual void trace(const char* tag, SrsContextId context_id, const char* fmt, ...);
virtual void warn(const char* tag, SrsContextId context_id, const char* fmt, ...);
virtual void error(const char* tag, SrsContextId context_id, const char* fmt, ...);
// Interface ISrsReloadHandler.
public:
virtual srs_error_t on_reload_utc_time();
virtual srs_error_t on_reload_log_tank();
virtual srs_error_t on_reload_log_level();
virtual srs_error_t on_reload_log_file();
private:
virtual void write_log(int& fd, char* str_log, int size, int level);
virtual void open_log_file();

@ -23,36 +23,11 @@ srs_error_t ISrsReloadHandler::on_reload_listen()
return srs_success;
}
srs_error_t ISrsReloadHandler::on_reload_utc_time()
{
return srs_success;
}
srs_error_t ISrsReloadHandler::on_reload_max_conns()
{
return srs_success;
}
srs_error_t ISrsReloadHandler::on_reload_pid()
{
return srs_success;
}
srs_error_t ISrsReloadHandler::on_reload_log_tank()
{
return srs_success;
}
srs_error_t ISrsReloadHandler::on_reload_log_level()
{
return srs_success;
}
srs_error_t ISrsReloadHandler::on_reload_log_file()
{
return srs_success;
}
srs_error_t ISrsReloadHandler::on_reload_pithy_print()
{
return srs_success;

@ -22,13 +22,8 @@ public:
ISrsReloadHandler();
virtual ~ISrsReloadHandler();
public:
virtual srs_error_t on_reload_utc_time();
virtual srs_error_t on_reload_max_conns();
virtual srs_error_t on_reload_listen();
virtual srs_error_t on_reload_pid();
virtual srs_error_t on_reload_log_tank();
virtual srs_error_t on_reload_log_level();
virtual srs_error_t on_reload_log_file();
virtual srs_error_t on_reload_pithy_print();
virtual srs_error_t on_reload_http_api_enabled();
virtual srs_error_t on_reload_http_api_disabled();

@ -1495,22 +1495,6 @@ srs_error_t SrsServer::on_reload_listen()
return err;
}
srs_error_t SrsServer::on_reload_pid()
{
srs_error_t err = srs_success;
if (pid_fd > 0) {
::close(pid_fd);
pid_fd = -1;
}
if ((err = acquire_pid_file()) != srs_success) {
return srs_error_wrap(err, "reload pid");
}
return err;
}
srs_error_t SrsServer::on_reload_vhost_added(std::string vhost)
{
srs_error_t err = srs_success;

@ -319,7 +319,6 @@ public:
// Interface ISrsReloadHandler.
public:
virtual srs_error_t on_reload_listen();
virtual srs_error_t on_reload_pid();
virtual srs_error_t on_reload_vhost_added(std::string vhost);
virtual srs_error_t on_reload_vhost_removed(std::string vhost);
virtual srs_error_t on_reload_http_api_enabled();

@ -22,10 +22,6 @@ MockReloadHandler::~MockReloadHandler()
void MockReloadHandler::reset()
{
listen_reloaded = false;
pid_reloaded = false;
log_tank_reloaded = false;
log_level_reloaded = false;
log_file_reloaded = false;
pithy_print_reloaded = false;
http_api_enabled_reloaded = false;
http_api_disabled_reloaded = false;
@ -55,10 +51,6 @@ int MockReloadHandler::count_true()
int count_true = 0;
if (listen_reloaded) count_true++;
if (pid_reloaded) count_true++;
if (log_tank_reloaded) count_true++;
if (log_level_reloaded) count_true++;
if (log_file_reloaded) count_true++;
if (pithy_print_reloaded) count_true++;
if (http_api_enabled_reloaded) count_true++;
if (http_api_disabled_reloaded) count_true++;
@ -85,10 +77,6 @@ int MockReloadHandler::count_false()
int count_false = 0;
if (!listen_reloaded) count_false++;
if (!pid_reloaded) count_false++;
if (!log_tank_reloaded) count_false++;
if (!log_level_reloaded) count_false++;
if (!log_file_reloaded) count_false++;
if (!pithy_print_reloaded) count_false++;
if (!http_api_enabled_reloaded) count_false++;
if (!http_api_disabled_reloaded) count_false++;
@ -126,30 +114,6 @@ srs_error_t MockReloadHandler::on_reload_listen()
return srs_success;
}
srs_error_t MockReloadHandler::on_reload_pid()
{
pid_reloaded = true;
return srs_success;
}
srs_error_t MockReloadHandler::on_reload_log_tank()
{
log_tank_reloaded = true;
return srs_success;
}
srs_error_t MockReloadHandler::on_reload_log_level()
{
log_level_reloaded = true;
return srs_success;
}
srs_error_t MockReloadHandler::on_reload_log_file()
{
log_file_reloaded = true;
return srs_success;
}
srs_error_t MockReloadHandler::on_reload_pithy_print()
{
pithy_print_reloaded = true;
@ -334,90 +298,6 @@ VOID TEST(ConfigReloadTest, ReloadListen)
handler.reset();
}
VOID TEST(ConfigReloadTest, ReloadPid)
{
MockReloadHandler handler;
MockSrsReloadConfig conf;
conf.subscribe(&handler);
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_MIN_OK_CONF"pid srs.pid;"));
EXPECT_TRUE(ERROR_SUCCESS == conf.do_reload(_MIN_OK_CONF"pid srs.pid;"));
EXPECT_TRUE(handler.all_false());
handler.reset();
EXPECT_TRUE(ERROR_SUCCESS == conf.do_reload(_MIN_OK_CONF"pid srs1.pid;"));
EXPECT_TRUE(handler.pid_reloaded);
EXPECT_EQ(1, handler.count_true());
handler.reset();
EXPECT_TRUE(ERROR_SUCCESS == conf.do_reload(_MIN_OK_CONF"pid srs.pid;"));
EXPECT_EQ(1, handler.count_true());
handler.reset();
}
VOID TEST(ConfigReloadTest, ReloadLogTank)
{
MockReloadHandler handler;
MockSrsReloadConfig conf;
conf.subscribe(&handler);
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_MIN_OK_CONF"srs_log_tank console;"));
EXPECT_TRUE(ERROR_SUCCESS == conf.do_reload(_MIN_OK_CONF"srs_log_tank console;"));
EXPECT_TRUE(handler.all_false());
handler.reset();
EXPECT_TRUE(ERROR_SUCCESS == conf.do_reload(_MIN_OK_CONF"srs_log_tank file;"));
EXPECT_TRUE(handler.log_tank_reloaded);
EXPECT_EQ(1, handler.count_true());
handler.reset();
EXPECT_TRUE(ERROR_SUCCESS == conf.do_reload(_MIN_OK_CONF"srs_log_tank console;"));
EXPECT_EQ(1, handler.count_true());
handler.reset();
}
VOID TEST(ConfigReloadTest, ReloadLogLevel)
{
MockReloadHandler handler;
MockSrsReloadConfig conf;
conf.subscribe(&handler);
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_MIN_OK_CONF"srs_log_level trace;"));
EXPECT_TRUE(ERROR_SUCCESS == conf.do_reload(_MIN_OK_CONF"srs_log_level trace;"));
EXPECT_TRUE(handler.all_false());
handler.reset();
EXPECT_TRUE(ERROR_SUCCESS == conf.do_reload(_MIN_OK_CONF"srs_log_level warn;"));
EXPECT_TRUE(handler.log_level_reloaded);
EXPECT_EQ(1, handler.count_true());
handler.reset();
EXPECT_TRUE(ERROR_SUCCESS == conf.do_reload(_MIN_OK_CONF"srs_log_level trace;"));
EXPECT_EQ(1, handler.count_true());
handler.reset();
}
VOID TEST(ConfigReloadTest, ReloadLogFile)
{
MockReloadHandler handler;
MockSrsReloadConfig conf;
conf.subscribe(&handler);
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_MIN_OK_CONF"srs_log_file srs.log;"));
EXPECT_TRUE(ERROR_SUCCESS == conf.do_reload(_MIN_OK_CONF"srs_log_file srs.log;"));
EXPECT_TRUE(handler.all_false());
handler.reset();
EXPECT_TRUE(ERROR_SUCCESS == conf.do_reload(_MIN_OK_CONF"srs_log_file srs1.log;"));
EXPECT_TRUE(handler.log_file_reloaded);
EXPECT_EQ(1, handler.count_true());
handler.reset();
EXPECT_TRUE(ERROR_SUCCESS == conf.do_reload(_MIN_OK_CONF"srs_log_file srs.log;"));
EXPECT_EQ(1, handler.count_true());
handler.reset();
}
VOID TEST(ConfigReloadTest, ReloadPithyPrint)
{
MockReloadHandler handler;

@ -19,10 +19,6 @@ class MockReloadHandler : public ISrsReloadHandler
{
public:
bool listen_reloaded;
bool pid_reloaded;
bool log_tank_reloaded;
bool log_level_reloaded;
bool log_file_reloaded;
bool pithy_print_reloaded;
bool http_api_enabled_reloaded;
bool http_api_disabled_reloaded;
@ -52,10 +48,6 @@ public:
virtual int count_false();
public:
virtual srs_error_t on_reload_listen();
virtual srs_error_t on_reload_pid();
virtual srs_error_t on_reload_log_tank();
virtual srs_error_t on_reload_log_level();
virtual srs_error_t on_reload_log_file();
virtual srs_error_t on_reload_pithy_print();
virtual srs_error_t on_reload_http_api_enabled();
virtual srs_error_t on_reload_http_api_disabled();

Loading…
Cancel
Save