aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorFredi Machado <fredisoft@gmail.com>2011-09-08 23:00:26 -0300
committerFredi Machado <fredisoft@gmail.com>2011-09-08 23:00:26 -0300
commitbac261b0010ca32990bf9660e445c0d049c6e25f (patch)
tree57bd22fe1028650b6df4b42a80a23f5bbfc398e2 /src
parent7a9cb4fdc715099f049c05935b2f063f694365a2 (diff)
Core/Log: Reload log levels and filters
on 'reload config' command
Diffstat (limited to 'src')
-rwxr-xr-xsrc/server/game/World/World.cpp2
-rwxr-xr-xsrc/server/shared/Logging/Log.cpp9
-rwxr-xr-xsrc/server/shared/Logging/Log.h2
3 files changed, 13 insertions, 0 deletions
diff --git a/src/server/game/World/World.cpp b/src/server/game/World/World.cpp
index d16e49b6b36..3da34bc2a47 100755
--- a/src/server/game/World/World.cpp
+++ b/src/server/game/World/World.cpp
@@ -398,6 +398,8 @@ void World::LoadConfigSettings(bool reload)
sLog->outError("World settings reload fail: can't read settings from %s.", sConfig->GetFilename().c_str());
return;
}
+
+ sLog->ReloadConfig(); // Reload log levels and filters
}
///- Read the player limit and the Message of the day from the config file
diff --git a/src/server/shared/Logging/Log.cpp b/src/server/shared/Logging/Log.cpp
index b1318bf4aef..a42e89e0b3e 100755
--- a/src/server/shared/Logging/Log.cpp
+++ b/src/server/shared/Logging/Log.cpp
@@ -187,6 +187,15 @@ void Log::Initialize()
}
}
+void Log::ReloadConfig()
+{
+ m_logLevel = sConfig->GetIntDefault("LogLevel", LOGL_NORMAL);
+ m_logFileLevel = sConfig->GetIntDefault("LogFileLevel", LOGL_NORMAL);
+ m_dbLogLevel = sConfig->GetIntDefault("DBLogLevel", LOGL_NORMAL);
+
+ m_DebugLogMask = DebugLogFilters(sConfig->GetIntDefault("DebugLogMask", LOG_FILTER_NONE));
+}
+
FILE* Log::openLogFile(char const* configFileName, char const* configTimeStampFlag, char const* mode)
{
std::string logfn=sConfig->GetStringDefault(configFileName, "");
diff --git a/src/server/shared/Logging/Log.h b/src/server/shared/Logging/Log.h
index 9b5aedb8e2f..aba1708232f 100755
--- a/src/server/shared/Logging/Log.h
+++ b/src/server/shared/Logging/Log.h
@@ -108,6 +108,8 @@ class Log
public:
void Initialize();
+ void ReloadConfig();
+
void InitColors(const std::string& init_str);
void SetColor(bool stdout_stream, ColorTypes color);
void ResetColor(bool stdout_stream);