homebridge-appletv-enhanced
Version:
Plugin that exposes the Apple TV to HomeKit with much richer features than the vanilla Apple TV implementation of HomeKit.
61 lines • 1.98 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.LogLevel = void 0;
var LogLevel;
(function (LogLevel) {
LogLevel[LogLevel["NONE"] = 0] = "NONE";
LogLevel[LogLevel["ERROR"] = 1] = "ERROR";
LogLevel[LogLevel["WARN"] = 2] = "WARN";
LogLevel[LogLevel["INFO"] = 3] = "INFO";
LogLevel[LogLevel["DEBUG"] = 4] = "DEBUG";
LogLevel[LogLevel["VERBOSE"] = 5] = "VERBOSE";
})(LogLevel || (exports.LogLevel = LogLevel = {}));
class LogLevelLogger {
log;
debugEnv = process.env.DEBUG !== undefined && process.env.DEBUG.toLowerCase() !== 'false';
level;
constructor(log, level) {
this.log = log;
this.level =
this.debugEnv === true ?
LogLevel.DEBUG :
level === undefined ?
LogLevel.INFO :
level;
}
debug(message, ...parameters) {
if (this.level >= LogLevel.DEBUG) {
this.log.info(`\u001B[90m[D] ${message}\u001B[39m`, ...parameters);
}
}
error(message, ...parameters) {
if (this.level >= LogLevel.ERROR) {
this.log.error(`[E] ${message}`, ...parameters);
}
}
getLogLevel() {
return this.level;
}
info(message, ...parameters) {
if (this.level >= LogLevel.INFO) {
this.log.info(`[I] ${message}`, ...parameters);
}
}
success(message, ...parameters) {
if (this.level >= LogLevel.INFO) {
this.log.success(`[S] ${message}`, ...parameters);
}
}
verbose(message, ...parameters) {
if (this.level >= LogLevel.VERBOSE) {
this.log.info(`\u001B[90m[V] ${message}\u001B[39m`, ...parameters);
}
}
warn(message, ...parameters) {
if (this.level >= LogLevel.WARN) {
this.log.warn(`[W] ${message}`, ...parameters);
}
}
}
exports.default = LogLevelLogger;
//# sourceMappingURL=LogLevelLogger.js.map