keep client version persistant (#2750)
This commit is contained in:
parent
f3f83882e0
commit
0a57229886
3 changed files with 19 additions and 11 deletions
|
@ -37,4 +37,5 @@ void DlgViewLog::logEntryAdded(QString message)
|
||||||
void DlgViewLog::closeEvent(QCloseEvent * /* event */)
|
void DlgViewLog::closeEvent(QCloseEvent * /* event */)
|
||||||
{
|
{
|
||||||
logArea->clear();
|
logArea->clear();
|
||||||
|
logArea->appendPlainText(Logger::getInstance().getClientVersion());
|
||||||
}
|
}
|
|
@ -1,14 +1,15 @@
|
||||||
#include "logger.h"
|
#include "logger.h"
|
||||||
|
#include "version_string.h"
|
||||||
#include <QDateTime>
|
#include <QDateTime>
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
|
|
||||||
#define LOGGER_MAX_ENTRIES 128
|
#define LOGGER_MAX_ENTRIES 128
|
||||||
#define LOGGER_FILENAME "qdebug.txt"
|
#define LOGGER_FILENAME "qdebug.txt"
|
||||||
|
|
||||||
Logger::Logger()
|
Logger::Logger() : logToFileEnabled(false)
|
||||||
: logToFileEnabled(false)
|
|
||||||
{
|
{
|
||||||
|
logBuffer.append(getClientVersion());
|
||||||
|
std::cerr << getClientVersion().toStdString() << std::endl;
|
||||||
}
|
}
|
||||||
|
|
||||||
Logger::~Logger()
|
Logger::~Logger()
|
||||||
|
@ -19,27 +20,33 @@ Logger::~Logger()
|
||||||
|
|
||||||
void Logger::logToFile(bool enabled)
|
void Logger::logToFile(bool enabled)
|
||||||
{
|
{
|
||||||
if(enabled)
|
if (enabled)
|
||||||
openLogfileSession();
|
openLogfileSession();
|
||||||
else
|
else
|
||||||
closeLogfileSession();
|
closeLogfileSession();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QString Logger::getClientVersion()
|
||||||
|
{
|
||||||
|
return "Client Version: " + QString::fromStdString(VERSION_STRING);
|
||||||
|
}
|
||||||
|
|
||||||
void Logger::openLogfileSession()
|
void Logger::openLogfileSession()
|
||||||
{
|
{
|
||||||
if(logToFileEnabled)
|
if (logToFileEnabled)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
fileHandle.setFileName(LOGGER_FILENAME);
|
fileHandle.setFileName(LOGGER_FILENAME);
|
||||||
fileHandle.open(QIODevice::WriteOnly | QIODevice::Truncate | QIODevice::Text);
|
fileHandle.open(QIODevice::WriteOnly | QIODevice::Truncate | QIODevice::Text);
|
||||||
fileStream.setDevice(&fileHandle);
|
fileStream.setDevice(&fileHandle);
|
||||||
fileStream << "Log session started at " << QDateTime::currentDateTime().toString() << endl;
|
fileStream << "Log session started at " << QDateTime::currentDateTime().toString() << endl;
|
||||||
|
fileStream << getClientVersion() << endl;
|
||||||
logToFileEnabled = true;
|
logToFileEnabled = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
void Logger::closeLogfileSession()
|
void Logger::closeLogfileSession()
|
||||||
{
|
{
|
||||||
if(!logToFileEnabled)
|
if (!logToFileEnabled)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
logToFileEnabled = false;
|
logToFileEnabled = false;
|
||||||
|
@ -47,12 +54,9 @@ void Logger::closeLogfileSession()
|
||||||
fileHandle.close();
|
fileHandle.close();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void Logger::log(QtMsgType /* type */, const QMessageLogContext & /* ctx */, const QString message)
|
void Logger::log(QtMsgType /* type */, const QMessageLogContext & /* ctx */, const QString message)
|
||||||
{
|
{
|
||||||
QMetaObject::invokeMethod(this, "internalLog", Qt::QueuedConnection,
|
QMetaObject::invokeMethod(this, "internalLog", Qt::QueuedConnection, Q_ARG(const QString &, message));
|
||||||
Q_ARG(const QString &, message)
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void Logger::internalLog(const QString message)
|
void Logger::internalLog(const QString message)
|
||||||
|
@ -61,7 +65,9 @@ void Logger::internalLog(const QString message)
|
||||||
|
|
||||||
logBuffer.append(message);
|
logBuffer.append(message);
|
||||||
if (logBuffer.size() > LOGGER_MAX_ENTRIES)
|
if (logBuffer.size() > LOGGER_MAX_ENTRIES)
|
||||||
logBuffer.removeFirst();
|
{
|
||||||
|
logBuffer.removeAt(1);
|
||||||
|
}
|
||||||
|
|
||||||
emit logEntryAdded(message);
|
emit logEntryAdded(message);
|
||||||
std::cerr << message.toStdString() << std::endl; // Print to stdout
|
std::cerr << message.toStdString() << std::endl; // Print to stdout
|
||||||
|
|
|
@ -30,6 +30,7 @@ private:
|
||||||
public:
|
public:
|
||||||
void logToFile(bool enabled);
|
void logToFile(bool enabled);
|
||||||
void log(QtMsgType type, const QMessageLogContext &ctx, const QString message);
|
void log(QtMsgType type, const QMessageLogContext &ctx, const QString message);
|
||||||
|
QString getClientVersion();
|
||||||
QList<QString> getLogBuffer() { return logBuffer; }
|
QList<QString> getLogBuffer() { return logBuffer; }
|
||||||
protected:
|
protected:
|
||||||
void openLogfileSession();
|
void openLogfileSession();
|
||||||
|
|
Loading…
Reference in a new issue