aboutsummaryrefslogtreecommitdiff
path: root/src/server/shared/Logging/Log.cpp
diff options
context:
space:
mode:
authorjackpoz <giacomopoz@gmail.com>2015-03-02 22:16:44 +0100
committerNayd <dnpd.dd@gmail.com>2015-03-18 00:10:02 +0000
commit064b6a4c84cb153e6d03aa5f7d2157baa98ec909 (patch)
tree14a82a61b92825b6eddfbbf9f44304d7d3c1d6e6 /src/server/shared/Logging/Log.cpp
parent034dbe267df49b98448e9000c7c534619612bdbc (diff)
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. (cherry picked from commit 003d67708b9a279da3d37e5ef06eb32ceab53964)
Diffstat (limited to 'src/server/shared/Logging/Log.cpp')
-rw-r--r--src/server/shared/Logging/Log.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/server/shared/Logging/Log.cpp b/src/server/shared/Logging/Log.cpp
index aa432128171..248244e7394 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())