- improvements in logger mechanism

This commit is contained in:
zolliker
2012-06-19 06:57:54 +00:00
parent dd1dba8298
commit 8a817c5e30
3 changed files with 48 additions and 10 deletions

View File

@ -32,9 +32,13 @@ static hdbCallbackReturn LoggerUpdateCallback(pHdb node,
time(&now);
if (now > LoggerLastTime(logger)) { /* never write more than once per second */
str = formatValue(value, node);
LoggerWrite(logger, time(NULL), LoggerPeriod(logger), GetCharArray(str));
DeleteDynString(str);
if (GetHdbProp(node, "geterror") == NULL) {
str = formatValue(value, node);
LoggerWrite(logger, time(NULL), LoggerPeriod(logger), GetCharArray(str));
DeleteDynString(str);
} else {
LoggerWrite(logger, time(NULL), LoggerPeriod(logger), "");
}
}
return hdbContinue;
}
@ -110,8 +114,8 @@ static int LogSetup(SConnection * pCon, SicsInterp * pSics, void *pData,
}
period = atoi(argv[2]);
}
if (logger != 0) { /* logger exists already, changed only period */
LoggerSetPeriod(logger, period);
if (logger != 0) { /* logger exists already */
LoggerChange(logger, period, name);
} else {
logger = LoggerMake(name, period, !numeric);
LoggerSetNumeric(logger, numeric);