QString Quassel::_coreDumpFileName;
Quassel *Quassel::_instance = 0;
bool Quassel::_handleCrashes = true;
+Quassel::LogLevel Quassel::_logLevel = InfoLevel;
+QFile *Quassel::_logFile = 0;
+bool Quassel::_logToSyslog = false;
Quassel::Quassel() {
Q_ASSERT(!_instance);
}
Quassel::~Quassel() {
+ if(logFile()) {
+ logFile()->close();
+ logFile()->deleteLater();
+ }
delete _cliParser;
}
}
DEBUG = isOptionSet("debug");
+
+ // set up logging
+ if(isOptionSet("loglevel")) {
+ QString level = optionValue("loglevel");
+
+ if(level == "Debug") _logLevel = DebugLevel;
+ else if(level == "Info") _logLevel = InfoLevel;
+ else if(level == "Warning") _logLevel= WarningLevel;
+ else if(level == "Error") _logLevel = ErrorLevel;
+ }
+
+ QString logfilename = optionValue("logfile");
+ if(!logfilename.isEmpty()) {
+ _logFile = new QFile(logfilename);
+ if(!_logFile->open(QIODevice::Append | QIODevice::Text)) {
+ qWarning() << "Could not open log file" << logfilename << ":" << _logFile->errorString();
+ _logFile->deleteLater();
+ _logFile = 0;
+ }
+ }
+
+ _logToSyslog = isOptionSet("syslog");
+
return true;
}