projects
/
quassel.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Improve debugging for new IRCv3 functionality
[quassel.git]
/
src
/
common
/
logger.h
diff --git
a/src/common/logger.h
b/src/common/logger.h
index
e6701fe
..
f55590c
100644
(file)
--- a/
src/common/logger.h
+++ b/
src/common/logger.h
@@
-1,5
+1,5
@@
/***************************************************************************
/***************************************************************************
- * Copyright (C) 2005-201
8
by the Quassel Project *
+ * Copyright (C) 2005-201
9
by the Quassel Project *
* devel@quassel-irc.org *
* *
* This program is free software; you can redistribute it and/or modify *
* devel@quassel-irc.org *
* *
* This program is free software; you can redistribute it and/or modify *
@@
-20,6
+20,8
@@
#pragma once
#pragma once
+#include "common-export.h"
+
#include <vector>
#include <QDateTime>
#include <vector>
#include <QDateTime>
@@
-31,15
+33,16
@@
/**
* The Logger class encapsulates the various configured logging backends.
*/
/**
* The Logger class encapsulates the various configured logging backends.
*/
-class Logger : public QObject
+class
COMMON_EXPORT
Logger : public QObject
{
Q_OBJECT
public:
{
Q_OBJECT
public:
- Logger(QObject
*
parent = nullptr);
+ Logger(QObject
*
parent = nullptr);
~Logger() override;
~Logger() override;
- enum class LogLevel {
+ enum class LogLevel
+ {
Debug,
Info,
Warning,
Debug,
Info,
Warning,
@@
-47,10
+50,18
@@
public:
Fatal
};
Fatal
};
- struct LogEntry {
+ struct COMMON_EXPORT LogEntry
+ {
QDateTime timeStamp;
LogLevel logLevel;
QString message;
QDateTime timeStamp;
LogLevel logLevel;
QString message;
+
+ /**
+ * Gets this log entry in a printable format, with timestamp and log level
+ *
+ * @return the log entry, formatted with timestamp and log level
+ */
+ QString toString() const;
};
/**
};
/**
@@
-72,7
+83,7
@@
public:
*/
std::vector<Logger::LogEntry> messages() const;
*/
std::vector<Logger::LogEntry> messages() const;
- static void messageHandler(QtMsgType type, const QMessageLogContext
&context, const QString &
message);
+ static void messageHandler(QtMsgType type, const QMessageLogContext
& context, const QString&
message);
/**
* Takes the given message with the given log level, formats it and emits the @a messageLogged() signal.
/**
* Takes the given message with the given log level, formats it and emits the @a messageLogged() signal.
@@
-82,7
+93,7
@@
public:
* @param logLevel The log leve of the message
* @param message The message
*/
* @param logLevel The log leve of the message
* @param message The message
*/
- void handleMessage(LogLevel logLevel, const QString
&
message);
+ void handleMessage(LogLevel logLevel, const QString
&
message);
signals:
/**
signals:
/**
@@
-90,14
+101,14
@@
signals:
*
* @param message The message that was logged
*/
*
* @param message The message that was logged
*/
- void messageLogged(const Logger::LogEntry
&
message);
+ void messageLogged(const Logger::LogEntry
&
message);
private slots:
private slots:
- void onMessageLogged(const Logger::LogEntry
&
message);
+ void onMessageLogged(const Logger::LogEntry
&
message);
private:
private:
- void handleMessage(QtMsgType type, const QString
&
message);
- void outputMessage(const LogEntry
&
message);
+ void handleMessage(QtMsgType type, const QString
&
message);
+ void outputMessage(const LogEntry
&
message);
private:
LogLevel _outputLevel{LogLevel::Info};
private:
LogLevel _outputLevel{LogLevel::Info};
@@
-107,6
+118,7
@@
private:
std::vector<LogEntry> _messages;
bool _keepMessages{true};
bool _initialized{false};
std::vector<LogEntry> _messages;
bool _keepMessages{true};
bool _initialized{false};
+ QByteArray _prgname;
};
Q_DECLARE_METATYPE(Logger::LogEntry)
};
Q_DECLARE_METATYPE(Logger::LogEntry)