diff options
Diffstat (limited to 'src')
| -rwxr-xr-x | src/server/shared/Logging/Log.cpp | 14 | 
1 files changed, 10 insertions, 4 deletions
diff --git a/src/server/shared/Logging/Log.cpp b/src/server/shared/Logging/Log.cpp index 1dca5e71006..27f33754da9 100755 --- a/src/server/shared/Logging/Log.cpp +++ b/src/server/shared/Logging/Log.cpp @@ -181,12 +181,18 @@ void Log::CreateLoggerFromConfig(const char* name)      options.append(name);      options = ConfigMgr::GetStringDefault(options.c_str(), ""); +    if (options.empty()) +    { +        fprintf(stderr, "Log::CreateLoggerFromConfig: Missing config option Logger.%s\n", name); +        return; +    } +      Tokens tokens(options, ',');      Tokens::iterator iter = tokens.begin();      if (tokens.size() != 3)      { -        fprintf(stderr, "Log::CreateLoggerFromConfig: Wrong configuration for logger %s. Config line: %s\n", name, options.c_str()); +        fprintf(stderr, "Log::CreateLoggerFromConfig: Wrong config option Logger.%s=%s\n", name, options.c_str());          return;      } @@ -467,15 +473,15 @@ void Log::SetRealmID(uint32 id)  void Log::Close()  { +    delete worker; +    worker = NULL; +    loggers.clear();      for (AppenderMap::iterator it = appenders.begin(); it != appenders.end(); ++it)      {          delete it->second;          it->second = NULL;      }      appenders.clear(); -    loggers.clear(); -    delete worker; -    worker = NULL;  }  void Log::LoadFromConfig()  | 
