mirror of
https://github.com/PrismLauncher/PrismLauncher.git
synced 2025-06-12 05:07:46 +02:00
feat(xml-logs): finish tests
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
This commit is contained in:
@ -37,7 +37,6 @@
|
||||
|
||||
#include "launch/LaunchTask.h"
|
||||
#include <assert.h>
|
||||
#include <qlogging.h>
|
||||
#include <QAnyStringView>
|
||||
#include <QCoreApplication>
|
||||
#include <QDebug>
|
||||
@ -237,9 +236,9 @@ bool LaunchTask::parseXmlLogs(QString const& line, MessageLevel::Enum level)
|
||||
model.append(MessageLevel::Error, tr("[Log4j Parse Error] Failed to parse log4j log event: %1").arg(err.value().errMessage));
|
||||
return false;
|
||||
} else {
|
||||
if (items.has_value()) {
|
||||
if (!items.isEmpty()) {
|
||||
auto& model = *getLogModel();
|
||||
for (auto const& item : items.value()) {
|
||||
for (auto const& item : items) {
|
||||
if (std::holds_alternative<LogParser::LogEntry>(item)) {
|
||||
auto entry = std::get<LogParser::LogEntry>(item);
|
||||
auto msg = QString("[%1] [%2/%3] [%4]: %5")
|
||||
@ -252,7 +251,7 @@ bool LaunchTask::parseXmlLogs(QString const& line, MessageLevel::Enum level)
|
||||
model.append(entry.level, msg);
|
||||
} else if (std::holds_alternative<LogParser::PlainText>(item)) {
|
||||
auto msg = std::get<LogParser::PlainText>(item).message;
|
||||
level = m_instance->guessLevel(msg, level);
|
||||
level = LogParser::guessLevel(msg, model.previousLevel());
|
||||
msg = censorPrivateInfo(msg);
|
||||
model.append(level, msg);
|
||||
}
|
||||
@ -281,15 +280,16 @@ void LaunchTask::onLogLine(QString line, MessageLevel::Enum level)
|
||||
level = innerLevel;
|
||||
}
|
||||
|
||||
auto& model = *getLogModel();
|
||||
|
||||
// If the level is still undetermined, guess level
|
||||
if (level == MessageLevel::Unknown) {
|
||||
level = m_instance->guessLevel(line, level);
|
||||
level = LogParser::guessLevel(line, model.previousLevel());
|
||||
}
|
||||
|
||||
// censor private user info
|
||||
line = censorPrivateInfo(line);
|
||||
|
||||
auto& model = *getLogModel();
|
||||
model.append(level, line);
|
||||
}
|
||||
|
||||
|
@ -166,3 +166,11 @@ bool LogModel::isOverFlow()
|
||||
{
|
||||
return m_numLines >= m_maxLines && m_stopOnOverflow;
|
||||
}
|
||||
|
||||
|
||||
MessageLevel::Enum LogModel::previousLevel() {
|
||||
if (!m_content.isEmpty()) {
|
||||
return m_content.last().level;
|
||||
}
|
||||
return MessageLevel::Unknown;
|
||||
}
|
||||
|
@ -31,6 +31,8 @@ class LogModel : public QAbstractListModel {
|
||||
void setColorLines(bool state);
|
||||
bool colorLines() const;
|
||||
|
||||
MessageLevel::Enum previousLevel();
|
||||
|
||||
enum Roles { LevelRole = Qt::UserRole };
|
||||
|
||||
private /* types */:
|
||||
|
Reference in New Issue
Block a user