diff options
author | Spp <spp@jorge.gr> | 2012-08-06 09:30:47 +0200 |
---|---|---|
committer | Spp <spp@jorge.gr> | 2012-08-06 09:30:47 +0200 |
commit | 5746b688fa156f2ea3a72a8f655042c24bdae8c4 (patch) | |
tree | ec7dfd8dde5c331d539926c60f91a9c38950f323 /src/server/shared/Logging/Log.cpp | |
parent | 483fb42306b82d92ea4c32ce016dbdd7fa91381d (diff) |
Core/Logging: Reload Logging options when .reload config is used
Diffstat (limited to 'src/server/shared/Logging/Log.cpp')
-rwxr-xr-x | src/server/shared/Logging/Log.cpp | 26 |
1 files changed, 15 insertions, 11 deletions
diff --git a/src/server/shared/Logging/Log.cpp b/src/server/shared/Logging/Log.cpp index 0bf8bcded86..cce670922f4 100755 --- a/src/server/shared/Logging/Log.cpp +++ b/src/server/shared/Logging/Log.cpp @@ -32,18 +32,8 @@ Log::Log() { SetRealmID(0); - AppenderId = 0; - /// Common log files data - m_logsDir = ConfigMgr::GetStringDefault("LogsDir", ""); - if (!m_logsDir.empty()) - if ((m_logsDir.at(m_logsDir.length() - 1) != '/') && (m_logsDir.at(m_logsDir.length() - 1) != '\\')) - m_logsDir.push_back('/'); - m_logsTimestamp = "_" + GetTimestampStr(); - - ReadAppendersFromConfig(); - ReadLoggersFromConfig(); - worker = new LogWorker(); + LoadFromConfig(); } Log::~Log() @@ -426,6 +416,20 @@ void Log::Close() it->second = NULL; } appenders.clear(); + loggers.clear(); delete worker; worker = NULL; } + +void Log::LoadFromConfig() +{ + Close(); + AppenderId = 0; + m_logsDir = ConfigMgr::GetStringDefault("LogsDir", ""); + if (!m_logsDir.empty()) + if ((m_logsDir.at(m_logsDir.length() - 1) != '/') && (m_logsDir.at(m_logsDir.length() - 1) != '\\')) + m_logsDir.push_back('/'); + ReadAppendersFromConfig(); + ReadLoggersFromConfig(); + worker = new LogWorker(); +} |