From 88d5ac513e2893b0ab6abd16dfd2ebcbbef8400d Mon Sep 17 00:00:00 2001 From: Dmitry Borisenko <49808844+DmitryBorisenko33@users.noreply.github.com> Date: Tue, 30 Aug 2022 00:41:27 +0200 Subject: [PATCH] =?UTF-8?q?=D0=B4=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8=D0=BB=20?= =?UTF-8?q?=D0=BC=D0=B5=D1=85=D0=B0=D0=BD=D0=B8=D0=B7=D0=BC=20=D1=83=D0=B4?= =?UTF-8?q?=D0=B0=D0=BB=D0=B5=D0=BD=D0=B8=D1=8F=20=D1=81=D1=82=D0=B0=D1=80?= =?UTF-8?q?=D1=8B=D1=85=20=D1=84=D0=B0=D0=B9=D0=BB=D0=BE=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/modules/virtual/Logging/Loging.cpp | 6 ++++++ src/modules/virtual/Logging/modinfo.json | 12 +++++++----- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/src/modules/virtual/Logging/Loging.cpp b/src/modules/virtual/Logging/Loging.cpp index f0fd2e77..35529d3d 100644 --- a/src/modules/virtual/Logging/Loging.cpp +++ b/src/modules/virtual/Logging/Loging.cpp @@ -7,6 +7,7 @@ class Loging : public IoTItem { String logid; String id; int points; + int keepdays; int interval; bool firstTime = true; @@ -21,6 +22,7 @@ class Loging : public IoTItem { SerialPrint("E", F("Loging"), "'" + id + "' user set more points than allowed, value reset to 300"); } jsonRead(parameters, F("int"), interval); + jsonRead(parameters, F("keepdays"), keepdays); } String getValue() { @@ -124,6 +126,10 @@ class Loging : public IoTItem { //выгрузка по частям, по одному файлу publishJsonPartly("/lg/" + fname, calculateMaxCount(), i); //} + if (fileUnixTime < (unixTime - (keepdays * 86400))) { + SerialPrint("i", F("Loging"), "'" + id + "' file '" + fname + "' too old, deleted"); + removeFile(directory + "/" + fname); + } } } else { SerialPrint("i", F("Loging"), "'" + id + "' file '" + fname + "' not used, deleted"); diff --git a/src/modules/virtual/Logging/modinfo.json b/src/modules/virtual/Logging/modinfo.json index 694156fb..a2be2d4f 100644 --- a/src/modules/virtual/Logging/modinfo.json +++ b/src/modules/virtual/Logging/modinfo.json @@ -12,7 +12,8 @@ "int": 60, "logid": "tmp", "num": 1, - "points": 255 + "points": 300, + "keepdays": 2 } ], "about": { @@ -22,11 +23,12 @@ "specialThanks": "", "moduleName": "Loging", "moduleVersion": "1.0", - "moduleDesc": "Расширение позволяющее логгировать любую величину в график", + "moduleDesc": "Расширение позволяющее логировать любую величину в график", "propInfo": { - "int": "Интервал", - "logid": "ID величины которую будем логгировать", - "points": "Максимальное количество точек в одном файле" + "int": "Интервал логирования", + "logid": "ID величины которую будем логировать", + "points": "Максимальное количество точек в одном файле, может быть не более 300", + "keepdays": "Количество дней за которое необходимо хранить историю. Данные старее будут удалены автоматически" } }, "defActive": true,