diff options
| author | Dark1-dev <shansarkar272@gmail.com> | 2023-03-01 21:33:55 +0600 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-03-01 21:33:55 +0600 |
| commit | 3c7253d6cdc23aac36208fa87dc6571c7cb7c5ff (patch) | |
| tree | 8b5f9425bbfc4fdd5a29155aec38893b77481359 /Logger/initlog.cpp | |
| parent | de57bc38217c09a0ae4a143f631896652368ecc3 (diff) | |
| download | Masterserver-Qt5-3c7253d6cdc23aac36208fa87dc6571c7cb7c5ff.tar.gz Masterserver-Qt5-3c7253d6cdc23aac36208fa87dc6571c7cb7c5ff.zip | |
Add files via upload
Diffstat (limited to 'Logger/initlog.cpp')
| -rw-r--r-- | Logger/initlog.cpp | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/Logger/initlog.cpp b/Logger/initlog.cpp new file mode 100644 index 0000000..d852c86 --- /dev/null +++ b/Logger/initlog.cpp @@ -0,0 +1,37 @@ +#include "logger.h" + +bool Logger::init(const QString &applicationPath, + const SettingStructure &settings) +{ + // test if log directory exists + _logPath = applicationPath + "/" + _logDirectory; + QDir logDir(_logPath); + if ( ! logDir.mkpath(".") ) + { + QTextStream(stdout) << "Failed to access log directory at " + _logPath << endl + << "Please create the director and/or apply relevant permissions." << endl; + return false; + } + + // log cycling -- determine log cycling setting + const QHash<QString, int> logCycling = { + {"never", 0}, + {"yearly", 1}, + {"monthly", 2}, + {"weekly", 3}, + {"daily", 4} + }; + + // load log-specific settings + _cyclePeriod = logCycling.value( settings.LoggingSettings.cycle ); + _suppressLog = settings.LoggingSettings.suppressLog; + _suppressDisplay = settings.LoggingSettings.suppressDisplay; + + // cycling initialisation ("never" is also a cycle) + if ( ! cycleLogFile() ) + { + QTextStream(stdout) << "Failed to access log file " + _logFileName + " at " + _logPath << endl; + return false; + } + return true; +} |
