diff options
author | Shauren <shauren.trinity@gmail.com> | 2021-05-27 11:47:51 +0200 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2021-05-27 11:47:51 +0200 |
commit | 480039f913e5013ee4746c21818e6c2169739bf4 (patch) | |
tree | 5829314a2bb448aaa289f4f79accddfd32bc5f26 /src/common/Logging/Log.cpp | |
parent | 3c08eb190f8fff96a17c6cb61892f813940648ce (diff) |
Core/Logging: Add functions that allow creating loggers and appenders from other sources than config files
Diffstat (limited to 'src/common/Logging/Log.cpp')
-rw-r--r-- | src/common/Logging/Log.cpp | 20 |
1 files changed, 14 insertions, 6 deletions
diff --git a/src/common/Logging/Log.cpp b/src/common/Logging/Log.cpp index ecc6cbf2b90..169dfbe80ba 100644 --- a/src/common/Logging/Log.cpp +++ b/src/common/Logging/Log.cpp @@ -56,7 +56,7 @@ Appender* Log::GetAppenderByName(std::string const& name) return it == appenders.end() ? nullptr : it->second.get(); } -void Log::CreateAppenderFromConfig(std::string const& appenderName) +void Log::CreateAppenderFromConfigLine(std::string const& appenderName, std::string const& options) { if (appenderName.empty()) return; @@ -64,7 +64,6 @@ void Log::CreateAppenderFromConfig(std::string const& appenderName) // Format = type, level, flags, optional1, optional2 // if type = File. optional1 = file and option2 = mode // if type = Console. optional1 = Color - std::string options = sConfigMgr->GetStringDefault(appenderName, ""); Tokenizer tokens(options, ','); auto iter = tokens.begin(); @@ -109,16 +108,20 @@ void Log::CreateAppenderFromConfig(std::string const& appenderName) } } -void Log::CreateLoggerFromConfig(std::string const& appenderName) +void Log::CreateAppenderFromConfig(std::string const& appenderName) { - if (appenderName.empty()) + CreateAppenderFromConfigLine(appenderName, sConfigMgr->GetStringDefault(appenderName, "")); +} + +void Log::CreateLoggerFromConfigLine(std::string const& loggerName, std::string const& options) +{ + if (loggerName.empty()) return; LogLevel level = LOG_LEVEL_DISABLED; uint8 type = uint8(-1); - std::string options = sConfigMgr->GetStringDefault(appenderName, ""); - std::string name = appenderName.substr(7); + std::string name = loggerName.substr(7); if (options.empty()) { @@ -172,6 +175,11 @@ void Log::CreateLoggerFromConfig(std::string const& appenderName) } } +void Log::CreateLoggerFromConfig(std::string const& loggerName) +{ + CreateLoggerFromConfigLine(loggerName, sConfigMgr->GetStringDefault(loggerName, "")); +} + void Log::ReadAppendersFromConfig() { std::vector<std::string> keys = sConfigMgr->GetKeysByString("Appender."); |