From 003d67708b9a279da3d37e5ef06eb32ceab53964 Mon Sep 17 00:00:00 2001 From: jackpoz Date: Mon, 2 Mar 2015 22:16:44 +0100 Subject: Shared/Logs: Improve log performances Improve Log::ShouldLog() performances by saving the lowest log level across all loggers and discarding any log with lower level than that. --- src/server/shared/Logging/Log.cpp | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'src/server/shared/Logging/Log.cpp') diff --git a/src/server/shared/Logging/Log.cpp b/src/server/shared/Logging/Log.cpp index 4bf4dacb302..a5268558bbe 100644 --- a/src/server/shared/Logging/Log.cpp +++ b/src/server/shared/Logging/Log.cpp @@ -199,6 +199,9 @@ void Log::CreateLoggerFromConfig(std::string const& appenderName) return; } + if (level < lowestLogLevel) + lowestLogLevel = level; + logger.Create(name, level); //fprintf(stdout, "Log::CreateLoggerFromConfig: Created Logger %s, Level %u\n", name.c_str(), level); @@ -394,6 +397,7 @@ void Log::LoadFromConfig() { Close(); + lowestLogLevel = LOG_LEVEL_FATAL; AppenderId = 0; m_logsDir = sConfigMgr->GetStringDefault("LogsDir", ""); if (!m_logsDir.empty()) -- cgit v1.2.3