diff options
| author | Spp <spp@jorge.gr> | 2013-01-16 09:52:49 +0100 |
|---|---|---|
| committer | Spp <spp@jorge.gr> | 2013-01-16 09:52:49 +0100 |
| commit | 526bdc076488cc5d6507d181790a7ba965cedbef (patch) | |
| tree | 539c4f510771c1d6b3aa20efb64bd1226aa4abd4 /src | |
| parent | be3826825e9e0ccb3ad48f82c44afa7625a39304 (diff) | |
Core/Logging: Add config option to enable/disable asyncronous logging (disabled by default)
Diffstat (limited to 'src')
| -rw-r--r-- | src/server/shared/Logging/Log.cpp | 17 | ||||
| -rw-r--r-- | src/server/worldserver/worldserver.conf.dist | 8 |
2 files changed, 20 insertions, 5 deletions
diff --git a/src/server/shared/Logging/Log.cpp b/src/server/shared/Logging/Log.cpp index 147533b513d..96c72b5eb74 100644 --- a/src/server/shared/Logging/Log.cpp +++ b/src/server/shared/Logging/Log.cpp @@ -273,12 +273,16 @@ void Log::vlog(LogFilterType filter, LogLevel level, char const* str, va_list ar void Log::write(LogMessage* msg) { + if (loggers.empty()) + return; + + msg->text.append("\n"); + Logger* logger = GetLoggerByType(msg->type); + if (worker) - { - msg->text.append("\n"); - Logger* logger = GetLoggerByType(msg->type); worker->enqueue(new LogOperation(logger, msg)); - } + else + logger->write(*msg); } std::string Log::GetTimestampStr() @@ -478,7 +482,10 @@ void Log::Close() void Log::LoadFromConfig() { Close(); - worker = new LogWorker(); + + if (ConfigMgr::GetBoolDefault("Log.Async.Enable", false)) + worker = new LogWorker(); + AppenderId = 0; m_logsDir = ConfigMgr::GetStringDefault("LogsDir", ""); if (!m_logsDir.empty()) diff --git a/src/server/worldserver/worldserver.conf.dist b/src/server/worldserver/worldserver.conf.dist index 68cf3994e3b..505a65771fa 100644 --- a/src/server/worldserver/worldserver.conf.dist +++ b/src/server/worldserver/worldserver.conf.dist @@ -2824,4 +2824,12 @@ Logger.Opcodes=41,6,Console Server Loggers=Root Chat DBErrors GM RA Warden Character Load WorldServer Opcodes # +# Log.Async.Enable +# Description: Enables asyncronous message logging. +# Default: 0 - (Disabled) +# 1 - (Enabled) + +Log.Async.Enable = 0 + +# ################################################################################################### |
