From 1b04bec290ab5b3881ca74759fc87191e7a4812f Mon Sep 17 00:00:00 2001 From: Spp Date: Fri, 8 Nov 2013 08:55:10 +0100 Subject: Core/Logs: Create default set of loggers and Appender if the config is wrong. - Logger root (Error) - Logger server (Info) - Appender Console Logger names are case-sensitive, Appender names are not. --- src/server/shared/Logging/Log.cpp | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) (limited to 'src/server/shared/Logging/Log.cpp') diff --git a/src/server/shared/Logging/Log.cpp b/src/server/shared/Logging/Log.cpp index 367c42f104c..9cd4e4a8cce 100644 --- a/src/server/shared/Logging/Log.cpp +++ b/src/server/shared/Logging/Log.cpp @@ -237,11 +237,24 @@ void Log::ReadLoggersFromConfig() keys.pop_front(); } - // root logger must exist. Marking as disabled as its not configured + // Bad config configuration, creating default config if (loggers.find(LOGGER_ROOT) == loggers.end()) { - fprintf(stdout, "Wrong Loggers configuration, Logger.root needs to exist, nothing will be logged.\n"); - loggers[LOGGER_ROOT].Create(LOGGER_ROOT, LOG_LEVEL_DISABLED); + fprintf(stderr, "Wrong Loggers configuration. Review your Logger config section.\n" + "Creating default loggers [root (Error), server (Info)] to console\n"); + + Close(); // Clean any Logger or Appender created + + AppenderConsole* appender = new AppenderConsole(NextAppenderId(), "Console", LOG_LEVEL_DEBUG, APPENDER_FLAGS_NONE); + appenders[appender->getId()] = appender; + + Logger& logger = loggers[LOGGER_ROOT]; + logger.Create(LOGGER_ROOT, LOG_LEVEL_ERROR); + logger.addAppender(appender->getId(), appender); + + logger = loggers["server"]; + logger.Create("server", LOG_LEVEL_ERROR); + logger.addAppender(appender->getId(), appender); } } -- cgit v1.2.3