File indexing completed on 2024-05-19 05:49:15
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 "cupsPageAnalyzer.h" 0008 0009 CupsPageAnalyzer::CupsPageAnalyzer(LogMode *logMode) 0010 : FileAnalyzer(logMode) 0011 , mCupsPageRegex(QStringLiteral("(\\S*) (\\S*) (\\S*) \\[(.*)\\] (\\S*) (\\S*) (\\S*)")) 0012 { 0013 } 0014 0015 LogViewColumns CupsPageAnalyzer::initColumns() 0016 { 0017 LogViewColumns columns; 0018 0019 columns.addColumn(LogViewColumn(i18n("Date"), true, false)); 0020 columns.addColumn(LogViewColumn(i18n("Printer"), true, true)); 0021 columns.addColumn(LogViewColumn(i18n("User"), true, true)); 0022 columns.addColumn(LogViewColumn(i18n("Job Id"), true, true)); 0023 columns.addColumn(LogViewColumn(i18n("Page Number"), true, false)); 0024 columns.addColumn(LogViewColumn(i18n("Num Copies"), true, true)); 0025 columns.addColumn(LogViewColumn(i18n("Job Billing"), true, false)); 0026 0027 return columns; 0028 } 0029 0030 LogFileReader *CupsPageAnalyzer::createLogFileReader(const LogFile &logFile) 0031 { 0032 return new LocalLogFileReader(logFile); 0033 } 0034 0035 Analyzer::LogFileSortMode CupsPageAnalyzer::logFileSortMode() 0036 { 0037 return Analyzer::AscendingSortedLogFile; 0038 } 0039 0040 LogLine *CupsPageAnalyzer::parseMessage(const QString &logLine, const LogFile &originalLogFile) 0041 { 0042 const int firstPosition = mCupsPageRegex.indexIn(logLine); 0043 if (firstPosition == -1) { 0044 qCDebug(KSYSTEMLOG) << "Unable to parse line " << logLine; 0045 return nullptr; 0046 } 0047 0048 QStringList capturedTexts = mCupsPageRegex.capturedTexts(); 0049 0050 // Remove full line 0051 capturedTexts.removeAt(0); 0052 0053 const QDateTime dateTime = ParsingHelper::instance()->parseHttpDateTime(capturedTexts.takeAt(3)); 0054 0055 return new LogLine(mLogLineInternalIdGenerator++, 0056 dateTime, 0057 capturedTexts, 0058 originalLogFile.url().toLocalFile(), 0059 Globals::instance().informationLogLevel(), 0060 mLogMode); 0061 } 0062 0063 #include "moc_cupsPageAnalyzer.cpp"