feat: Add delete policy in recon page and system operation log.

This commit is contained in:
sunwen
2024-09-14 15:59:22 +08:00
parent ea6a6e99e4
commit 3b7f2ebd04
10 changed files with 85 additions and 32 deletions

View File

@@ -1,6 +1,7 @@
#include "SystemOperationLog.h"
#include "appvals/AppGlobalValues.h"
#include "json/jsonobject.h"
#include <QDir>
@@ -63,3 +64,23 @@ void SystemOperationLog::log(const QString &aOperationText, const QDateTime& aOp
reloadFile();
mStreamOut << aOperationDate.toString(Qt::DateFormat::ISODateWithMs).replace("T","\t")<<"\t"<<aOperationText<<endl;
}
void SystemOperationLog::cleanHistoryLog()
{
int expireDays = JsonObject::Instance()->getOperationLogExpireDays();
QDateTime currentDate = QDateTime::currentDateTime();
QDateTime deleteDate = currentDate.addDays(-expireDays);
QDir dir(LOG_DIR);
QStringList logFiles = dir.entryList(QStringList() << "*.log", QDir::Files);
for(const QString &logFile : logFiles)
{
QString filePath = LOG_DIR + "/" + logFile;
QFileInfo fileInfo(filePath);
QDateTime fileDate = fileInfo.created();
if (fileDate <= deleteDate)
{
QFile::remove(filePath);
}
}
}

View File

@@ -13,6 +13,7 @@ public:
SystemOperationLog();
~SystemOperationLog();
void reloadFile();
static void cleanHistoryLog();
public slots:
void log(const QString& aOperationText, const QDateTime& aOperationDate);