UNPKG

@robotlegsjs/core

Version:

An architecture-based IoC framework for JavaScript/TypeScript

82 lines 2.97 kB
"use strict"; // ------------------------------------------------------------------------------ // Copyright (c) 2017-present, RobotlegsJS. All Rights Reserved. // // NOTICE: You are permitted to use, modify, and distribute this file // in accordance with the terms of the license agreement accompanying it. // ------------------------------------------------------------------------------ Object.defineProperty(exports, "__esModule", { value: true }); exports.LogManager = void 0; var LogLevel_1 = require("../api/LogLevel"); var Logger_1 = require("../impl/Logger"); /** * The log manager creates loggers and is itself a log target * * @private */ var LogManager = /** @class */ (function () { function LogManager() { /*============================================================================*/ /* Public Properties */ /*============================================================================*/ this._logLevel = LogLevel_1.LogLevel.INFO; /*============================================================================*/ /* Private Properties */ /*============================================================================*/ this._targets = []; } Object.defineProperty(LogManager.prototype, "logLevel", { /** * The current log level */ get: function () { return this._logLevel; }, /** * Sets the current log level */ set: function (value) { this._logLevel = value; }, enumerable: false, configurable: true }); /*============================================================================*/ /* Public Functions */ /*============================================================================*/ /** * Retrieves a logger for a given source * * @param source Logging source * @return Logger */ LogManager.prototype.getLogger = function (source) { return new Logger_1.Logger(source, this); }; /** * Adds a custom log target * * @param target Log target * @return this */ LogManager.prototype.addLogTarget = function (target) { this._targets.push(target); }; /** * @inheritDoc */ LogManager.prototype.log = function (source, level, timestamp, message, params) { if (level > this._logLevel) { return; } this._targets.forEach(function (target) { target.log(source, level, timestamp, message, params); }); }; LogManager.prototype.removeAllTargets = function () { this._targets = []; }; return LogManager; }()); exports.LogManager = LogManager; //# sourceMappingURL=LogManager.js.map