UNPKG

homebridge-denon-heos-audio

Version:

Control your Denon speakers via AVR Control and/or HeosCLI

87 lines 3.22 kB
import { format } from "date-fns"; export const logLevelNumeric = { ["debug" /* LogLevel.DEBUG */]: 1, ["info" /* LogLevel.INFO */]: 2, ["success" /* LogLevel.SUCCESS */]: 3, ["warn" /* LogLevel.WARN */]: 4, ["error" /* LogLevel.ERROR */]: 5, }; export const logLevelFromString = { ["debug"]: "debug" /* LogLevel.DEBUG */, ["info"]: "info" /* LogLevel.INFO */, ["success"]: "success" /* LogLevel.SUCCESS */, ["warn"]: "warn" /* LogLevel.WARN */, ["error"]: "error" /* LogLevel.ERROR */, }; export class ConsoleLogger { prefix; logLevel; datetimePrefix; constructor(logLevel, prefix, datetimePrefix = false) { this.prefix = prefix; this.datetimePrefix = datetimePrefix; this.logLevel = logLevelNumeric[logLevel]; } log(level, message, ...parameters) { if (this.logLevel <= logLevelNumeric[level]) { let fullMessage; if (this.prefix) { fullMessage = this.datetimePrefix ? `[${format(new Date(), "M/d/yyyy, h:mm:ss a")}] [${this.prefix}] ${message}` : `[${this.prefix}] ${message}`; } else { fullMessage = this.datetimePrefix ? `[${format(new Date(), "M/d/yyyy, h:mm:ss a")}] ${message}` : message; } console.log(fullMessage, ...parameters); } } debug(message, ...parameters) { this.log("debug" /* LogLevel.DEBUG */, message, ...parameters); } info(message, ...parameters) { this.log("info" /* LogLevel.INFO */, message, ...parameters); } success(message, ...parameters) { this.log("success" /* LogLevel.SUCCESS */, message, ...parameters); } warn(message, ...parameters) { this.log("warn" /* LogLevel.WARN */, message, ...parameters); } error(message, ...parameters) { this.log("error" /* LogLevel.ERROR */, message, ...parameters); } } export class LoggerPrefixWrapper { logger; prefix; additionalPrefix; constructor(logger, additionalPrefix) { this.logger = logger; this.prefix = logger.prefix; this.additionalPrefix = additionalPrefix; } log(level, message, ...parameters) { const fullMessage = `[${this.additionalPrefix}] ${message}`; this.logger.log(level, fullMessage, ...parameters); } debug(message, ...parameters) { const fullMessage = `[${this.additionalPrefix}] ${message}`; this.logger.debug(fullMessage, ...parameters); } info(message, ...parameters) { const fullMessage = `[${this.additionalPrefix}] ${message}`; this.logger.info(fullMessage, ...parameters); } success(message, ...parameters) { const fullMessage = `[${this.additionalPrefix}] ${message}`; this.logger.success(fullMessage, ...parameters); } warn(message, ...parameters) { const fullMessage = `[${this.additionalPrefix}] ${message}`; this.logger.warn(fullMessage, ...parameters); } error(message, ...parameters) { const fullMessage = `[${this.additionalPrefix}] ${message}`; this.logger.error(fullMessage, ...parameters); } } //# sourceMappingURL=customLogging.js.map