Merge pull request #1356 from nghttp2/fix-log-level-on-reload
nghttpx: Fix unchanged log level on configuration reload
This commit is contained in:
commit
a1556fd11f
|
@ -1559,6 +1559,7 @@ void fill_default_config(Config *config) {
|
||||||
}
|
}
|
||||||
|
|
||||||
loggingconf.syslog_facility = LOG_DAEMON;
|
loggingconf.syslog_facility = LOG_DAEMON;
|
||||||
|
loggingconf.severity = NOTICE;
|
||||||
|
|
||||||
auto &connconf = config->conn;
|
auto &connconf = config->conn;
|
||||||
{
|
{
|
||||||
|
@ -3201,6 +3202,7 @@ void reload_config(WorkerProcess *wp) {
|
||||||
// configuration can be obtained from get_config().
|
// configuration can be obtained from get_config().
|
||||||
|
|
||||||
auto old_config = replace_config(std::move(new_config));
|
auto old_config = replace_config(std::move(new_config));
|
||||||
|
Log::set_severity_level(get_config()->logging.severity);
|
||||||
|
|
||||||
auto pid = fork_worker_process(ipc_fd, iaddrs);
|
auto pid = fork_worker_process(ipc_fd, iaddrs);
|
||||||
|
|
||||||
|
@ -3208,6 +3210,7 @@ void reload_config(WorkerProcess *wp) {
|
||||||
LOG(ERROR) << "Failed to process new configuration";
|
LOG(ERROR) << "Failed to process new configuration";
|
||||||
|
|
||||||
new_config = replace_config(std::move(old_config));
|
new_config = replace_config(std::move(old_config));
|
||||||
|
Log::set_severity_level(get_config()->logging.severity);
|
||||||
close_not_inherited_fd(new_config.get(), iaddrs);
|
close_not_inherited_fd(new_config.get(), iaddrs);
|
||||||
|
|
||||||
return;
|
return;
|
||||||
|
|
|
@ -2682,13 +2682,16 @@ int parse_config(Config *config, int optid, const StringRef &opt,
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
case SHRPX_OPTID_LOG_LEVEL:
|
case SHRPX_OPTID_LOG_LEVEL: {
|
||||||
if (Log::set_severity_level_by_name(optarg) == -1) {
|
auto level = Log::get_severity_level_by_name(optarg);
|
||||||
|
if (level == -1) {
|
||||||
LOG(ERROR) << opt << ": Invalid severity level: " << optarg;
|
LOG(ERROR) << opt << ": Invalid severity level: " << optarg;
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
config->logging.severity = level;
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
}
|
||||||
case SHRPX_OPTID_DAEMON:
|
case SHRPX_OPTID_DAEMON:
|
||||||
config->daemon = util::strieq_l("yes", optarg);
|
config->daemon = util::strieq_l("yes", optarg);
|
||||||
|
|
||||||
|
|
|
@ -808,6 +808,7 @@ struct LoggingConfig {
|
||||||
bool syslog;
|
bool syslog;
|
||||||
} error;
|
} error;
|
||||||
int syslog_facility;
|
int syslog_facility;
|
||||||
|
int severity;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct RateLimitConfig {
|
struct RateLimitConfig {
|
||||||
|
|
|
@ -116,11 +116,10 @@ int Log::severity_thres_ = NOTICE;
|
||||||
|
|
||||||
void Log::set_severity_level(int severity) { severity_thres_ = severity; }
|
void Log::set_severity_level(int severity) { severity_thres_ = severity; }
|
||||||
|
|
||||||
int Log::set_severity_level_by_name(const StringRef &name) {
|
int Log::get_severity_level_by_name(const StringRef &name) {
|
||||||
for (size_t i = 0, max = array_size(SEVERITY_STR); i < max; ++i) {
|
for (size_t i = 0, max = array_size(SEVERITY_STR); i < max; ++i) {
|
||||||
if (name == SEVERITY_STR[i]) {
|
if (name == SEVERITY_STR[i]) {
|
||||||
severity_thres_ = i;
|
return i;
|
||||||
return 0;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return -1;
|
return -1;
|
||||||
|
|
|
@ -180,7 +180,9 @@ public:
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
static void set_severity_level(int severity);
|
static void set_severity_level(int severity);
|
||||||
static int set_severity_level_by_name(const StringRef &name);
|
// Returns the severity level by |name|. Returns -1 if |name| is
|
||||||
|
// unknown.
|
||||||
|
static int get_severity_level_by_name(const StringRef &name);
|
||||||
static bool log_enabled(int severity) { return severity >= severity_thres_; }
|
static bool log_enabled(int severity) { return severity >= severity_thres_; }
|
||||||
|
|
||||||
enum {
|
enum {
|
||||||
|
|
Loading…
Reference in New Issue