diff --git a/debian/changelog b/debian/changelog index 54c08fadad50c70db3ed9e1095cad9b1147c1341..6e100ca9a88f1f82c8ec3b27cca794918a077c6f 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,9 @@ +nfs-logtools (1.0.0-9) unstable; urgency=medium + + * fix: cannot export all needed logs. + + -- ruizhe Thu, 19 Oct 2023 14:57:13 +0800 + nfs-logtools (1.0.0-8) unstable; urgency=medium * fix: find filter error. diff --git a/getcontent.cpp b/getcontent.cpp index 127b0682dd5532bcb3a332a026c59d0dead896b0..5f6c394929fdd05ee019bc229cbfeaae549d771e 100644 --- a/getcontent.cpp +++ b/getcontent.cpp @@ -102,7 +102,7 @@ bool GetContent::checkDirPathExists(QString &dirPath) { QDir dir(dirPath); if (dir.exists()) { - qDebug() << dirPath << " Exists."; +// qDebug() << dirPath << " Exists."; return true; } else { diff --git a/logtools.cpp b/logtools.cpp index c8ff735050e59efdeaf6ca0ff0b67067711f7c70..83de7fb3010479e342d6379329ce2b789f2efafb 100644 --- a/logtools.cpp +++ b/logtools.cpp @@ -1107,9 +1107,10 @@ void Logtools::logtoolsExportSingleLogList(QString path, QString fileName, QList file.close(); } -void Logtools::exportZip(QString &srcDir, QString &dstDir, bool flag) +void Logtools::exportZip(QStringList &srcDir, QString &dstDir, bool flag) { QProcess execCmd; + const QString cmd = "zip"; QStringList params; QString exportFile = ""; QDateTime currentDateTime = QDateTime::currentDateTime(); @@ -1125,8 +1126,8 @@ void Logtools::exportZip(QString &srcDir, QString &dstDir, bool flag) } params.append(exportFile); params.append(srcDir); - execCmd.start("zip", params); - execCmd.waitForFinished(); + execCmd.start(cmd, params); + execCmd.waitForFinished(-1); execCmd.close(); logtoolsChangeChmod(exportFile); @@ -1659,13 +1660,25 @@ void Logtools::logtoolsEmergSlots() void Logtools::logtoolsSyslogSlots() { - QString srcDir = "/var/templog"; - QString logDir = "/var/log"; - QString crashDir = "/var/crash"; - QString dstDir = this->exportPath + "/system-all-log"; + QString logPath = "/var/log"; + QString crashPath = "/var/crash"; + QStringList srcDir; + QString dstDir = this->exportPath + "system-all-log"; GetContent checkDir; QString messageBoxText = "系统日志将导出到" + this->exportPath + ",确认导出吗?"; + bool crashDirExists = checkDir.checkDirPathExists(crashPath); + bool logDirExists = checkDir.checkDirPathExists(logPath); + if (!(crashDirExists || logDirExists)) { + return; + } + if (crashDirExists){ + srcDir.append(crashPath); + } + if(logDirExists) { + srcDir.append(logPath); + } + QMessageBox *exportCupsLog = new QMessageBox; exportCupsLog->setWindowTitle(" "); exportCupsLog->setText(messageBoxText); @@ -1674,27 +1687,7 @@ void Logtools::logtoolsSyslogSlots() int id = exportCupsLog->exec(); if (0 == id) { //确认 - QProcess execCmd; - QStringList params; - params.append(srcDir); - execCmd.start("mkdir", params); - execCmd.waitForFinished(); - execCmd.close(); - params.clear(); - params.append("-r"); - params.append(logDir); - params.append(crashDir); - params.append(srcDir); - execCmd.start("cp", params); - execCmd.waitForFinished(); - execCmd.close(); this->exportZip(srcDir, dstDir, false); - params.clear(); - params.append("-r"); - params.append(srcDir); - execCmd.start("rm", params); - execCmd.waitForFinished(); - execCmd.close(); } else { qDebug() << "取消"; @@ -1703,14 +1696,18 @@ void Logtools::logtoolsSyslogSlots() void Logtools::logtoolsPrintRelatedSlots() { - QString srcDir = "/var/log/cups"; - QString dstDir = this->exportPath + "/cups"; + QStringList srcDir; + QString path = "/var/log/cpus"; + QString dstDir = this->exportPath + "cups"; GetContent checkDir; QString messageBoxText = "打印日志将导出到" + this->exportPath + ",确认导出吗?"; - if (!checkDir.checkDirPathExists(srcDir)) { + if (!checkDir.checkDirPathExists(path)) { return ; } + else{ + srcDir.append(path); + } QMessageBox *exportCupsLog = new QMessageBox; exportCupsLog->setWindowTitle(" "); @@ -1836,6 +1833,7 @@ void Logtools::on_pushButtonExportCur_clicked() void Logtools::on_pushButtonExportAll_clicked() { + QStringList srcDir; QString path = "/tmp/export/"; QString dstFile = ""; QString folderNmae = "export"; @@ -1879,8 +1877,11 @@ void Logtools::on_pushButtonExportAll_clicked() logtoolsExportSingleLogList(path, "critical.log", this->logListCritical); logtoolsExportSingleLogList(path, "alert.log", this->logListAlert); logtoolsExportSingleLogList(path, "emerg.log", this->logListEmerg); + dstFile = this->exportPath + "log"; - this->exportZip(path, dstFile, true); + srcDir.append(path); + + this->exportZip(srcDir, dstFile, true); } else { qDebug() <<"取消"; diff --git a/logtools.h b/logtools.h index f6cc3a3c9ee85b6a3e859e3057675fbe2ab095f5..ca88362094953752db875ab792110fced93ae197 100644 --- a/logtools.h +++ b/logtools.h @@ -161,7 +161,7 @@ public: void logtoolsLoadingAllLogList(); void logtoolsChangeChmod(QString &); void logtoolsExportSingleLogList(QString, QString, QList > &); - void exportZip(QString &, QString &, bool); + void exportZip(QStringList &, QString &, bool); //gif void logtoolsGifDialogStart();