mirror of
https://github.com/IoTManagerProject/IoTManager.git
synced 2026-03-27 06:32:19 +03:00
Logging in progress
This commit is contained in:
@@ -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;
|
||||
13
src/main.cpp
13
src/main.cpp
@@ -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();
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user