File indexing completed on 2024-05-19 05:49:14
0001 /* 0002 SPDX-FileCopyrightText: 2007 Nicolas Ternisien <nicolas.ternisien@gmail.com> 0003 0004 SPDX-License-Identifier: GPL-2.0-or-later 0005 */ 0006 0007 #include "genericConfiguration.h" 0008 0009 #include <KLocalizedString> 0010 0011 #include "defaults.h" 0012 #include "ksystemlog_debug.h" 0013 0014 #include "globals.h" 0015 0016 #include "ksystemlogConfig.h" 0017 GenericLogModeConfiguration::GenericLogModeConfiguration(const QString &configurationGroup, 0018 const QStringList &defaultLogFilesPaths, 0019 const QList<int> &defaultLogFilesLevels) 0020 { 0021 qCDebug(KSYSTEMLOG) << "Using Configuration Group : " << configurationGroup; 0022 mConfiguration->setCurrentGroup(configurationGroup); 0023 0024 mConfiguration->addItemStringList(QStringLiteral("LogFilesPaths"), mLogFilesPaths, defaultLogFilesPaths, QStringLiteral("LogFilesPaths")); 0025 0026 mConfiguration->addItemIntList(QStringLiteral("LogFilesLevels"), mLogFilesLevels, defaultLogFilesLevels, QStringLiteral("LogFilesLevels")); 0027 } 0028 0029 GenericLogModeConfiguration::~GenericLogModeConfiguration() 0030 { 0031 } 0032 0033 QStringList GenericLogModeConfiguration::logFilesPaths() const 0034 { 0035 return mLogFilesPaths; 0036 } 0037 0038 QList<int> GenericLogModeConfiguration::logFilesLevels() const 0039 { 0040 return mLogFilesLevels; 0041 } 0042 0043 void GenericLogModeConfiguration::setLogFilesPaths(const QStringList &logFilesPaths) 0044 { 0045 mLogFilesPaths = logFilesPaths; 0046 } 0047 0048 void GenericLogModeConfiguration::setLogFilesLevels(const QList<int> &logFilesLevels) 0049 { 0050 mLogFilesLevels = logFilesLevels; 0051 } 0052 0053 QVector<LogFile> GenericLogModeConfiguration::findGenericLogFiles() const 0054 { 0055 QVector<LogFile> logFiles; 0056 0057 if (mLogFilesPaths.size() != mLogFilesLevels.size()) { 0058 qCDebug(KSYSTEMLOG) << i18n("The two arrays size are different, skipping the reading of log files."); 0059 return logFiles; 0060 } 0061 0062 LogLevel *level = nullptr; 0063 0064 QListIterator<QString> itString(mLogFilesPaths); 0065 QListIterator<int> itInt(mLogFilesLevels); 0066 0067 while (itString.hasNext()) { 0068 const int intValue = itInt.next(); 0069 const QString stringValue = itString.next(); 0070 0071 level = Globals::instance().logLevels().value(Globals::LogLevelIds(intValue), Globals::instance().informationLogLevel()); 0072 0073 const QUrl url = QUrl::fromLocalFile(stringValue); 0074 if (!url.isValid()) { 0075 qCWarning(KSYSTEMLOG) << i18n("URL '%1' is not valid, skipping this URL.", url.path()); 0076 continue; 0077 } 0078 0079 logFiles.append(LogFile(url, level)); 0080 } 0081 0082 return logFiles; 0083 } 0084 0085 #include "moc_genericConfiguration.cpp"