mirror of
https://github.com/lubosz/overte.git
synced 2025-08-08 03:48:38 +02:00
Merge pull request #513 from overte-org/log_trunc
Truncate logs read by FileLogger
This commit is contained in:
commit
2972c8919f
4 changed files with 17 additions and 5 deletions
|
@ -321,7 +321,8 @@ void LogDialog::handleFilterDropdownChanged(int selection) {
|
||||||
}
|
}
|
||||||
|
|
||||||
QString LogDialog::getCurrentLog() {
|
QString LogDialog::getCurrentLog() {
|
||||||
return _logger->getLogData();
|
// We start 512 KiB from the end of the file.
|
||||||
|
return _logger->getLogData(524288);
|
||||||
}
|
}
|
||||||
|
|
||||||
void LogDialog::appendLogLine(QString logLine) {
|
void LogDialog::appendLogLine(QString logLine) {
|
||||||
|
|
|
@ -43,7 +43,7 @@ public:
|
||||||
inline void setUnknownPrint(bool unknownPrint) { _unknownPrint = unknownPrint; }
|
inline void setUnknownPrint(bool unknownPrint) { _unknownPrint = unknownPrint; }
|
||||||
|
|
||||||
virtual void addMessage(const QString&) = 0;
|
virtual void addMessage(const QString&) = 0;
|
||||||
virtual QString getLogData() = 0;
|
virtual QString getLogData(const qint64 maxSize = 0) = 0;
|
||||||
virtual void locateLog() = 0;
|
virtual void locateLog() = 0;
|
||||||
virtual void sync() {}
|
virtual void sync() {}
|
||||||
|
|
||||||
|
|
|
@ -157,11 +157,22 @@ void FileLogger::locateLog() {
|
||||||
FileUtils::locateFile(_fileName);
|
FileUtils::locateFile(_fileName);
|
||||||
}
|
}
|
||||||
|
|
||||||
QString FileLogger::getLogData() {
|
QString FileLogger::getLogData(const qint64 maxSize) {
|
||||||
QString result;
|
QString result;
|
||||||
QFile f(_fileName);
|
QFile f(_fileName);
|
||||||
if (f.open(QFile::ReadOnly | QFile::Text)) {
|
if (f.open(QFile::ReadOnly | QFile::Text)) {
|
||||||
result = QTextStream(&f).readAll();
|
if (maxSize != 0) {
|
||||||
|
f.seek(f.size() - maxSize);
|
||||||
|
}
|
||||||
|
QTextStream stream(&f);
|
||||||
|
if (maxSize != 0) {
|
||||||
|
// Continue one line, in case we are in the middle of a line.
|
||||||
|
stream.readLine();
|
||||||
|
result = "Log has been truncated to " + QString::number(maxSize) + " bytes.\n" + stream.readAll();
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
result = stream.readAll();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
|
@ -27,7 +27,7 @@ public:
|
||||||
QString getFilename() const { return _fileName; }
|
QString getFilename() const { return _fileName; }
|
||||||
virtual void addMessage(const QString&) override;
|
virtual void addMessage(const QString&) override;
|
||||||
virtual void setSessionID(const QUuid&);
|
virtual void setSessionID(const QUuid&);
|
||||||
virtual QString getLogData() override;
|
virtual QString getLogData(const qint64 maxSize = 0) override;
|
||||||
virtual void locateLog() override;
|
virtual void locateLog() override;
|
||||||
virtual void sync() override;
|
virtual void sync() override;
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue