UNPKG

container.ts

Version:
58 lines 2.05 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const container_1 = require("../../container"); // TODO: Validation library. exports.ENV_LOG_LEVEL = "LOG_LEVEL"; class Log extends container_1.ContainerModule { get level() { return this._level; } constructor(name, opts, depends) { super(name, opts, depends); // Get log level from environment or fall back on default. const rawLevel = this.environment.get(exports.ENV_LOG_LEVEL) || "info"; this._level = this.parseLevel(rawLevel); this.debug(`level '${container_1.ELogLevel[this.level]}'`); // Subscribe to container log messages filtered by level. this.container.filterLogs(this.level) .subscribe((log) => this.handleLog(log)); } /** Convert environment log level string to level index, defaults to warning. */ parseLevel(level) { switch ((level || "").toLowerCase()) { case "emerg": case "emergency": { return container_1.ELogLevel.Emergency; } case "alert": { return container_1.ELogLevel.Alert; } case "crit": case "critical": { return container_1.ELogLevel.Critical; } case "err": case "error": { return container_1.ELogLevel.Error; } case "warn": case "warning": { return container_1.ELogLevel.Warning; } case "notice": { return container_1.ELogLevel.Notice; } case "info": case "information": case "informational": { return container_1.ELogLevel.Informational; } case "debug": { return container_1.ELogLevel.Debug; } default: { return container_1.ELogLevel.Warning; } } } } exports.Log = Log; //# sourceMappingURL=Log.js.map