core/log: stop trying to store detailed logs after write fail

Not stopping will cause the logger's write buffer to fill until OOM if
writing fails.
This commit is contained in:
outfoxxed 2025-07-19 03:41:24 -07:00
parent 63a6d27213
commit 759bd721df
Signed by untrusted user: outfoxxed
GPG key ID: 4C88A185FB89301E

View file

@ -457,10 +457,14 @@ void ThreadLogging::onMessage(const LogMessage& msg, bool showInSparse) {
this->fileStream << Qt::endl;
}
if (this->detailedWriter.write(msg)) {
this->detailedFile->flush();
} else if (this->detailedFile != nullptr) {
qCCritical(logLogging) << "Detailed logger failed to write. Ending detailed logs.";
if (!this->detailedWriter.write(msg) || (this->detailedFile && !this->detailedFile->flush())) {
if (this->detailedFile) {
qCCritical(logLogging) << "Detailed logger failed to write. Ending detailed logs.";
}
this->detailedWriter.setDevice(nullptr);
this->detailedFile->close();
this->detailedFile = nullptr;
}
}