Fix and optimize logger (#4002)
* Fix logging switch statement. * Remove debug_verbose_ in AllReducer. * Don't construct the stream when not needed. * Make default constructor deleted. * Remove redundant IsVerbose.
This commit is contained in:
@@ -23,8 +23,7 @@ void dmlc::CustomLogMessage::Log(const std::string& msg) {
|
||||
namespace xgboost {
|
||||
|
||||
ConsoleLogger::~ConsoleLogger() {
|
||||
if (cur_verbosity_ == LogVerbosity::kIgnore ||
|
||||
cur_verbosity_ <= global_verbosity_) {
|
||||
if (ShouldLog(cur_verbosity_)) {
|
||||
dmlc::CustomLogMessage::Log(BaseLogger::log_stream_.str());
|
||||
}
|
||||
}
|
||||
@@ -46,6 +45,11 @@ ConsoleLogger::LogVerbosity ConsoleLogger::global_verbosity_ =
|
||||
ConsoleLogger::DefaultVerbosity();
|
||||
|
||||
ConsoleLoggerParam ConsoleLogger::param_ = ConsoleLoggerParam();
|
||||
|
||||
bool ConsoleLogger::ShouldLog(LogVerbosity verbosity) {
|
||||
return verbosity <= global_verbosity_ || verbosity == LV::kIgnore;
|
||||
}
|
||||
|
||||
void ConsoleLogger::Configure(const std::map<std::string, std::string>& args) {
|
||||
param_.InitAllowUnknown(args);
|
||||
// Deprecated, but when trying to display deprecation message some R
|
||||
@@ -80,7 +84,6 @@ ConsoleLogger::LogVerbosity ConsoleLogger::GlobalVerbosity() {
|
||||
return global_verbosity_;
|
||||
}
|
||||
|
||||
ConsoleLogger::ConsoleLogger() : cur_verbosity_{LogVerbosity::kInfo} {}
|
||||
ConsoleLogger::ConsoleLogger(LogVerbosity cur_verb) :
|
||||
cur_verbosity_{cur_verb} {}
|
||||
|
||||
@@ -89,11 +92,17 @@ ConsoleLogger::ConsoleLogger(
|
||||
cur_verbosity_ = cur_verb;
|
||||
switch (cur_verbosity_) {
|
||||
case LogVerbosity::kWarning:
|
||||
BaseLogger::log_stream_ << "WARNING: ";
|
||||
BaseLogger::log_stream_ << "WARNING: "
|
||||
<< file << ":" << line << ": ";
|
||||
break;
|
||||
case LogVerbosity::kDebug:
|
||||
BaseLogger::log_stream_ << "DEBUG: ";
|
||||
BaseLogger::log_stream_ << "DEBUG: "
|
||||
<< file << ":" << line << ": ";
|
||||
break;
|
||||
case LogVerbosity::kInfo:
|
||||
BaseLogger::log_stream_ << "INFO: ";
|
||||
BaseLogger::log_stream_ << "INFO: "
|
||||
<< file << ":" << line << ": ";
|
||||
break;
|
||||
case LogVerbosity::kIgnore:
|
||||
BaseLogger::log_stream_ << file << ":" << line << ": ";
|
||||
break;
|
||||
|
||||
Reference in New Issue
Block a user