mirror of
https://github.com/mod-playerbots/azerothcore-wotlk.git
synced 2026-01-22 21:26:23 +00:00
feat(Modules): load modules configs before Log initialization (#6104)
in order to properly load modules appenders and loggers
This commit is contained in:
@@ -347,7 +347,6 @@ bool ConfigMgr::LoadModulesConfigs()
|
||||
return true;
|
||||
|
||||
// Start loading module configs
|
||||
std::vector<std::string /*config variant*/> moduleConfigFiles;
|
||||
std::string const& moduleConfigPath = GetConfigPath() + "modules/";
|
||||
bool isExistDefaultConfig = true;
|
||||
bool isExistDistConfig = true;
|
||||
@@ -368,25 +367,25 @@ bool ConfigMgr::LoadModulesConfigs()
|
||||
isExistDefaultConfig = false;
|
||||
|
||||
if (isExistDefaultConfig && isExistDistConfig)
|
||||
moduleConfigFiles.emplace_back(defaultFileName);
|
||||
_moduleConfigFiles.emplace_back(defaultFileName);
|
||||
else if (!isExistDefaultConfig && isExistDistConfig)
|
||||
moduleConfigFiles.emplace_back(distFileName);
|
||||
_moduleConfigFiles.emplace_back(distFileName);
|
||||
}
|
||||
|
||||
// If module configs not exist - no load
|
||||
if (moduleConfigFiles.empty())
|
||||
return false;
|
||||
return !_moduleConfigFiles.empty();
|
||||
}
|
||||
|
||||
void ConfigMgr::PrintLoadedModulesConfigs()
|
||||
{
|
||||
// Print modules configurations
|
||||
LOG_INFO("server", " ");
|
||||
LOG_INFO("server", "Using modules configuration:");
|
||||
|
||||
for (auto const& itr : moduleConfigFiles)
|
||||
for (auto const& itr : _moduleConfigFiles)
|
||||
LOG_INFO("server", "> %s", itr.c_str());
|
||||
|
||||
LOG_INFO("server", " ");
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/*
|
||||
|
||||
@@ -58,6 +58,8 @@ public:
|
||||
bool isDryRun() { return dryRun; }
|
||||
void setDryRun(bool mode) { dryRun = mode; }
|
||||
|
||||
void PrintLoadedModulesConfigs();
|
||||
|
||||
private:
|
||||
/// Method used only for loading main configuration files (authserver.conf and worldserver.conf)
|
||||
bool LoadInitial(std::string const& file);
|
||||
@@ -67,6 +69,8 @@ private:
|
||||
T GetValueDefault(std::string const& name, T const& def, bool showLogs = true) const;
|
||||
|
||||
bool dryRun = false;
|
||||
|
||||
std::vector<std::string /*config variant*/> _moduleConfigFiles;
|
||||
};
|
||||
|
||||
class ConfigException : public std::length_error
|
||||
|
||||
Reference in New Issue
Block a user