UNPKG

matterbridge-dyson-robot

Version:

A Matterbridge plugin that connects Dyson robot vacuums and air treatment devices to the Matter smart home ecosystem via their local or cloud MQTT APIs.

37 lines 1.46 kB
// Matterbridge plugin for Dyson robot vacuum and air treatment devices // Copyright © 2025 Alexander Thoukydides import { AnsiLogger } from 'matterbridge/logger'; // A logger with an additional prefix export class PrefixLogger extends AnsiLogger { delegate; prefix; // Create a new logger constructor(delegate, prefix) { super({ extLog: delegate, logTimestampFormat: delegate.logTimestampFormat, logCustomTimestampFormat: delegate.logCustomTimestampFormat }); this.delegate = delegate; this.prefix = prefix; } // Get and set the log level (in the delegate logger) get logLevel() { return this.delegate.logLevel; } set logLevel(logLevel) { this.delegate.logLevel = logLevel; } // Get and set the log name (in the delegate logger) get logName() { return this.delegate.logName; } set logName(logName) { this.delegate.logName = logName; } // Log a message with sensitive data filtered log(level, message, ...parameters) { // Call the delegate directly (not super.log) to avoid double-logging const savedLogName = this.delegate.logName; try { this.delegate.logName = `${savedLogName} - ${this.prefix}`; this.delegate.log(level, message, ...parameters); } finally { this.delegate.logName = savedLogName; } } } //# sourceMappingURL=logger-prefix.js.map