feat(Modules): load modules configs before Log initialization (#6104)

in order to properly load modules appenders and loggers
This commit is contained in:
UltraNix
2021-06-04 23:57:10 +02:00
committed by GitHub
parent 196f74fdad
commit c568bdcc42
4 changed files with 15 additions and 9 deletions

View File

@@ -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;
}
/*

View File

@@ -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

View File

@@ -122,6 +122,9 @@ extern int main(int argc, char** argv)
if (!sConfigMgr->LoadAppConfigs())
return 1;
// Loading modules configs
sConfigMgr->LoadModulesConfigs();
sLog->RegisterAppender<AppenderDB>();
sLog->Initialize();

View File

@@ -142,7 +142,7 @@ int Master::Run()
LoadRealmInfo();
// Loading modules configs
sConfigMgr->LoadModulesConfigs();
sConfigMgr->PrintLoadedModulesConfigs();
///- Initialize the World
sSecretMgr->Initialize();