aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/common/Logging/Log.cpp20
-rw-r--r--src/common/Logging/Log.h3
2 files changed, 17 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.");
diff --git a/src/common/Logging/Log.h b/src/common/Logging/Log.h
index 27ce6da1cba..498bd830676 100644
--- a/src/common/Logging/Log.h
+++ b/src/common/Logging/Log.h
@@ -97,6 +97,9 @@ class TC_COMMON_API Log
std::string const& GetLogsDir() const { return m_logsDir; }
std::string const& GetLogsTimestamp() const { return m_logsTimestamp; }
+ void CreateAppenderFromConfigLine(std::string const& name, std::string const& options);
+ void CreateLoggerFromConfigLine(std::string const& name, std::string const& options);
+
private:
static std::string GetTimestampStr();
void write(std::unique_ptr<LogMessage>&& msg) const;