File indexing completed on 2024-05-19 05:49:12

0001 /*
0002     SPDX-FileCopyrightText: 2007 Nicolas Ternisien <nicolas.ternisien@gmail.com>
0003 
0004     SPDX-License-Identifier: GPL-2.0-or-later
0005 */
0006 
0007 #pragma once
0008 
0009 #include <KLocalizedString>
0010 
0011 #include "fileAnalyzer.h"
0012 
0013 #include "ksystemlog_debug.h"
0014 
0015 #include "apacheLogMode.h"
0016 #include "localLogFileReader.h"
0017 #include "parsingHelper.h"
0018 
0019 class ApacheAnalyzer : public FileAnalyzer
0020 {
0021     Q_OBJECT
0022 
0023 public:
0024     explicit ApacheAnalyzer(LogMode *logMode);
0025 
0026     ~ApacheAnalyzer() override
0027     {
0028     }
0029 
0030     LogViewColumns initColumns() override;
0031 
0032 protected:
0033     LogFileReader *createLogFileReader(const LogFile &logFile) override;
0034 
0035     Analyzer::LogFileSortMode logFileSortMode() override;
0036 
0037     /*
0038      * Log line examples :
0039      * [Wed May 18 22:16:02 2005] [error] [client 127.0.0.1] File does not exist:
0040      * /var/www/html/ksystemlog/screenshots/small/kernel-view.png, referer:
0041      * http://localhost.localdomain/ksystemlog/screenshots.php
0042      * [Wed May 18 22:16:02 2005] [error] [client 127.0.0.1] File does not exist:
0043      * /var/www/html/ksystemlog/screenshots/small/system-filter.png, referer:
0044      * http://localhost.localdomain/ksystemlog/screenshots.php
0045      * [Thu May 19 18:00:19 2005] [notice] mod_jk2.post_config() first invocation
0046      * [Thu May 19 18:00:19 2005] [notice] Digest: generating secret for digest authentication ...
0047      * [client 127.0.0.1] PHP Parse error:  parse error, unexpected T_PRIVATE, expecting T_STRING in
0048      * /mnt/boulot/web/annivernet/src/fonctions/formulaire.inc.php on line 25
0049      */
0050     LogLine *parseMessage(const QString &logLine, const LogFile &originalLogFile) override;
0051 
0052 private:
0053     QMap<QString, LogLevel *> mMapTypeLevels;
0054 
0055     void initializeTypeLevels();
0056 
0057     LogLevel *findLogLevel(const QString &type);
0058 };