Logging in progress

This commit is contained in:
Dmitry Borisenko
2020-11-01 00:03:08 +03:00
parent b7a98e19d2
commit 8445dd3b0c
3 changed files with 36 additions and 12 deletions

View File

@@ -13,12 +13,33 @@ void LoggingClass::loop() {
unsigned long difference = currentMillis - prevMillis;
if (difference >= _period) {
prevMillis = millis();
writeDate();
addNewDelOldData("log." + _key + ".txt", _maxPoints, jsonReadStr(configLiveJson, _key));
}
}
void LoggingClass::writeDate() {
SerialPrint("I", "Logging", _key);
void LoggingClass::addNewDelOldData(const String filename, size_t maxPoints, String payload) {
String logData = readFile(filename, 5120);
size_t lines_cnt = itemsCount(logData, "\r\n");
SerialPrint("I", "Logging", "http://" + WiFi.localIP().toString() + "/" + filename + " (" + String(lines_cnt, DEC) + ")");
if ((lines_cnt > maxPoints + 1) || !lines_cnt) {
removeFile(filename);
lines_cnt = 0;
}
if (lines_cnt > maxPoints) {
logData = deleteBeforeDelimiter(logData, "\r\n");
if (timeNow->hasTimeSynced()) {
logData += timeNow->getTimeUnix() + " " + payload + "\r\n";
writeFile(filename, logData);
}
} else {
if (timeNow->hasTimeSynced()) {
addFileLn(filename, timeNow->getTimeUnix() + " " + payload);
}
}
}
MyLoggingVector* myLogging= nullptr;
MyLoggingVector* myLogging = nullptr;

View File

@@ -98,10 +98,8 @@ void setup() {
initialized = true; //this second POST makes the data to be processed (you don't need to connect as "keep-alive" for that to work)
myLogging = new MyLoggingVector();
myLogging->push_back(LoggingClass(5000, 1, "5 sec"));
myLogging->push_back(LoggingClass(10000, 1, "10 sec"));
//myLogging->push_back(new LoggingClass());
myLogging->push_back(LoggingClass(30000, 10, "analog-adc-1"));
//myLogging->push_back(LoggingClass(10000, 1, "10 sec"));
}
void loop() {
@@ -124,6 +122,9 @@ void loop() {
myNotAsyncActions->loop();
ts.update();
myLogging->at(0).loop();
myLogging->at(1).loop();
if (myLogging != nullptr) {
for (unsigned int i = 0; i < myLogging->size(); i++) {
myLogging->at(i).loop();
}
}
}