homebridge-virtual-accessories
Version:
Virtual HomeKit accessories for Homebridge.
60 lines • 1.92 kB
JavaScript
/* eslint-disable @typescript-eslint/no-explicit-any */
/**
* VirtualLogger
*/
export class VirtualLogger {
platformLogger;
logLevel;
constructor(platformLogger, logLevel = 2 /* VirtualLogLevel.INFO */) {
this.platformLogger = platformLogger;
this.logLevel = logLevel;
}
setLogLevel(logLevel) {
this.logLevel = logLevel;
}
getLogLevel() {
return this.logLevel;
}
debug(message, parameters = []) {
if (this.logLevel <= 1 /* VirtualLogLevel.DEBUG */) {
this.platformLogger.debug(message, ...parameters);
}
}
info(message, debug = false, parameters = []) {
if (debug) {
this.platformLogger.debug(message, ...parameters);
}
else {
this.platformLogger.info(message, ...parameters);
}
}
warn(message, parameters = []) {
if (this.logLevel <= 3 /* VirtualLogLevel.WARNING */) {
this.platformLogger.warn(message, ...parameters);
}
}
error(message, parameters = []) {
if (this.logLevel <= 4 /* VirtualLogLevel.ERROR */) {
this.platformLogger.error(message, ...parameters);
}
}
log(logLevel, message, parameters = []) {
let level;
switch (logLevel) {
case 1 /* VirtualLogLevel.DEBUG */:
level = "debug" /* LogLevel.DEBUG */;
break;
case 2 /* VirtualLogLevel.INFO */:
level = "info" /* LogLevel.INFO */;
break;
case 3 /* VirtualLogLevel.WARNING */:
level = "warn" /* LogLevel.WARN */;
break;
case 4 /* VirtualLogLevel.ERROR */:
level = "error" /* LogLevel.ERROR */;
break;
}
this.platformLogger.log(level, message, ...parameters);
}
}
//# sourceMappingURL=virtualLogger.js.map