UNPKG

@ts-ioc/logs

Version:

tsioc is AOP, Ioc container, via typescript decorator

97 lines (95 loc) 3.72 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var tslib_1 = require("tslib"); var core_1 = require("@ts-ioc/core"); var ILoggerManager_1 = require("./ILoggerManager"); var LogConfigure_1 = require("./LogConfigure"); var IConfigureLoggerManager_1 = require("./IConfigureLoggerManager"); var aop_1 = require("@ts-ioc/aop"); /** * Configure logger manger. use to get configed logger manger. * * @export * @class LoggerManger * @implements {IConfigureLoggerManager} */ var ConfigureLoggerManger = /** @class */ (function () { function ConfigureLoggerManger(container, config) { this.container = container; this.setLogConfigure(config); } Object.defineProperty(ConfigureLoggerManger.prototype, "config", { get: function () { if (!this._config) { if (this.container.has(LogConfigure_1.LogConfigureToken)) { this._config = this.container.resolve(LogConfigure_1.LogConfigureToken); } else { this._config = { adapter: 'console' }; } } return this._config; }, enumerable: true, configurable: true }); ConfigureLoggerManger.prototype.setLogConfigure = function (config) { if (!config) { return; } if (core_1.isClass(config)) { if (!this.container.has(LogConfigure_1.LogConfigureToken)) { this.container.register(LogConfigure_1.LogConfigureToken, config); this._config = this.container.get(LogConfigure_1.LogConfigureToken); } else if (!this.container.has(config)) { this.container.register(config); this._config = this.container.get(config); } } else { this._config = config; } this._logManger = null; }; Object.defineProperty(ConfigureLoggerManger.prototype, "logManger", { get: function () { if (!this._logManger) { var cfg = this.config || {}; var adapter = cfg.adapter || 'console'; var token = void 0; if (core_1.isString(adapter)) { token = new core_1.Registration(ILoggerManager_1.LoggerManagerToken, adapter); } else { token = adapter; } this._logManger = this.container.get(token); if (cfg.config) { this._logManger.configure(cfg.config); } } return this._logManger; }, enumerable: true, configurable: true }); ConfigureLoggerManger.prototype.configure = function (config) { this.logManger.configure(config); }; ConfigureLoggerManger.prototype.getLogger = function (name) { return this.logManger.getLogger(name); }; ConfigureLoggerManger.getClassAnnations = function () { return { "name": "ConfigureLoggerManger", "params": { "constructor": ["container", "config"], "setLogConfigure": ["config"], "configure": ["config"], "getLogger": ["name"] } }; }; ConfigureLoggerManger = tslib_1.__decorate([ aop_1.NonePointcut(), core_1.Injectable(IConfigureLoggerManager_1.ConfigureLoggerManagerToken), tslib_1.__param(0, core_1.Inject(core_1.ContainerToken)), tslib_1.__metadata("design:paramtypes", [Object, Object]) ], ConfigureLoggerManger); return ConfigureLoggerManger; }()); exports.ConfigureLoggerManger = ConfigureLoggerManger; //# sourceMappingURL=sourcemaps/ConfigureLoggerManger.js.map