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:
}
}
}