handleLog method
- BurtLog log, {
- bool display = true,
Sends a log message to be shown in the footer.
Implementation
void handleLog(BurtLog log, {bool display = true}) {
// Update device severity
final oldSeverity = deviceSeverity[log.device];
if (oldSeverity == null || log.level.isMoreSevereThan(oldSeverity)) {
deviceSeverity[log.device] = log.level;
}
// Save to disk and memory
saveToFileBuffer.add(log);
logsForDevice(log.device)?.addWithLimit(log);
_controller.add(log);
allLogs.addWithLimit(log);
notifyListeners();
// Show important messages to the footer.
if (display) { // Prevents showing dashboard messages that have already been shown
switch (log.level) {
case BurtLogLevel.critical: models.home.setMessage(severity: Severity.critical, text: log.title, permanent: true, logMessage: false);
case BurtLogLevel.warning: models.home.setMessage(severity: Severity.warning, text: log.title, logMessage: false);
case BurtLogLevel.error: models.home.setMessage(severity: Severity.error, text: log.title, logMessage: false);
case BurtLogLevel.info: models.home.setMessage(severity: Severity.info, text: "${log.device.humanName}: ${log.title}", logMessage: false);
case BurtLogLevel.debug:
case BurtLogLevel.trace:
case BurtLogLevel.BURT_LOG_LEVEL_UNDEFINED:
}
}
}