blob: d852c862b0f5e7f4c2e841cda3b7eaad55a26297 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
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;
}
|