Don't evaluate args to LOG(INFO) and LOG(WARNING) in release builds.
We were using the LAZY_STREAM macro to do this based on --log-level (which
defaults to INFO), but not for LoggingSettings::logging_dest == LOG_NONE.
Review URL: https://codereview.chromium.org/1499693002
Cr-Commit-Position: refs/heads/master@{#363565}
diff --git a/base/logging.cc b/base/logging.cc
index 650351d..20bc7f5 100644
--- a/base/logging.cc
+++ b/base/logging.cc
@@ -390,6 +390,17 @@
return g_min_log_level;
}
+bool ShouldCreateLogMessage(int severity) {
+ if (severity < g_min_log_level)
+ return false;
+
+ // Return true here unless we know ~LogMessage won't do anything. Note that
+ // ~LogMessage writes to stderr if severity_ >= kAlwaysPrintErrorLevel, even
+ // when g_logging_destination is LOG_NONE.
+ return g_logging_destination != LOG_NONE || log_message_handler ||
+ severity >= kAlwaysPrintErrorLevel;
+}
+
int GetVlogVerbosity() {
return std::max(-1, LOG_INFO - GetMinLogLevel());
}