File indexing completed on 2024-05-12 05:48:38

0001 /*
0002     SPDX-FileCopyrightText: 2007 Nicolas Ternisien <nicolas.ternisien@gmail.com>
0003     SPDX-FileCopyrightText: 2015 Vyacheslav Matyushin
0004 
0005     SPDX-License-Identifier: GPL-2.0-or-later
0006 */
0007 
0008 #pragma once
0009 
0010 #include "analyzer.h"
0011 #include "logFile.h"
0012 
0013 class JournaldAnalyzer : public Analyzer
0014 {
0015     Q_OBJECT
0016 
0017 public:
0018     explicit JournaldAnalyzer(LogMode *mode);
0019 
0020     LogViewColumns initColumns() override;
0021 
0022     void setLogFiles(const QVector<LogFile> &logFiles) override;
0023 
0024     virtual QStringList units() const = 0;
0025 
0026     virtual QStringList syslogIdentifiers() const = 0;
0027 
0028 protected:
0029     struct JournalEntry {
0030         QDateTime date;
0031         QString unit;
0032         QString message;
0033         int priority;
0034         QString bootID;
0035     };
0036 
0037     int updateModel(QList<JournalEntry> &entries, ReadingMode readingMode);
0038 };