@robotlegsjs/core
Version:
An architecture-based IoC framework for JavaScript/TypeScript
82 lines • 2.97 kB
JavaScript
;
// ------------------------------------------------------------------------------
// 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