diff --git a/src/devices/BaseDevice.js b/src/devices/BaseDevice.js index e77f29d07..64174b976 100644 --- a/src/devices/BaseDevice.js +++ b/src/devices/BaseDevice.js @@ -98,7 +98,14 @@ export default class BaseDevice { notifyLogListeners(entry: DeviceLogEntry) { this.logEntries.push(entry); if (this.logListeners.size > 0) { - this.logListeners.forEach(listener => listener(entry)); + this.logListeners.forEach(listener => { + // prevent breaking other listeners, if one listener doesn't work. + try { + listener(entry); + } catch (e) { + console.error(`Log listener exception:`, e); + } + }); } }