ngx-logger
Version:
[](https://www.npmjs.com/package/ngx-logger)
28 lines • 3.82 kB
JavaScript
export class NGXLoggerConfigEngine {
constructor(config) {
this.config = this._clone(config);
}
/** Get a readonly access to the level configured for the NGXLogger */
get level() {
return this.config.level;
}
/** Get a readonly access to the serverLogLevel configured for the NGXLogger */
get serverLogLevel() {
return this.config.serverLogLevel;
}
updateConfig(config) {
this.config = this._clone(config);
}
getConfig() {
return this._clone(this.config);
}
// TODO: This is a shallow clone, If the config ever becomes hierarchical we must make this a deep clone
_clone(object) {
const cloneConfig = { level: null };
Object.keys(object).forEach((key) => {
cloneConfig[key] = object[key];
});
return cloneConfig;
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLWVuZ2luZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29uZmlnL2NvbmZpZy1lbmdpbmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBSUEsTUFBTSxPQUFPLHFCQUFxQjtJQUloQyxZQUNFLE1BQXdCO1FBRXhCLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRUQsc0VBQXNFO0lBQ3RFLElBQUksS0FBSztRQUNQLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUM7SUFDM0IsQ0FBQztJQUVELCtFQUErRTtJQUMvRSxJQUFJLGNBQWM7UUFDaEIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQztJQUNwQyxDQUFDO0lBRUQsWUFBWSxDQUFDLE1BQXdCO1FBQ25DLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRUQsU0FBUztRQUNQLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVELHdHQUF3RztJQUNoRyxNQUFNLENBQUMsTUFBVztRQUN4QixNQUFNLFdBQVcsR0FBcUIsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUM7UUFFdEQsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtZQUNsQyxXQUFXLENBQUMsR0FBRyxDQUFDLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2pDLENBQUMsQ0FBQyxDQUFDO1FBRUgsT0FBTyxXQUFXLENBQUM7SUFDckIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmd4TG9nZ2VyTGV2ZWwgfSBmcm9tICcuLy4uL3R5cGVzL2xvZ2dlci1sZXZlbC5lbnVtJztcclxuaW1wb3J0IHsgSU5HWExvZ2dlckNvbmZpZ0VuZ2luZSB9IGZyb20gJy4vaWNvbmZpZy1lbmdpbmUnO1xyXG5pbXBvcnQgeyBJTkdYTG9nZ2VyQ29uZmlnIH0gZnJvbSAnLi9pY29uZmlnJztcclxuXHJcbmV4cG9ydCBjbGFzcyBOR1hMb2dnZXJDb25maWdFbmdpbmUgaW1wbGVtZW50cyBJTkdYTG9nZ2VyQ29uZmlnRW5naW5lIHtcclxuXHJcbiAgcHJpdmF0ZSBjb25maWc6IElOR1hMb2dnZXJDb25maWc7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgY29uZmlnOiBJTkdYTG9nZ2VyQ29uZmlnLFxyXG4gICkge1xyXG4gICAgdGhpcy5jb25maWcgPSB0aGlzLl9jbG9uZShjb25maWcpO1xyXG4gIH1cclxuXHJcbiAgLyoqIEdldCBhIHJlYWRvbmx5IGFjY2VzcyB0byB0aGUgbGV2ZWwgY29uZmlndXJlZCBmb3IgdGhlIE5HWExvZ2dlciAqL1xyXG4gIGdldCBsZXZlbCgpOiBOZ3hMb2dnZXJMZXZlbCB7XHJcbiAgICByZXR1cm4gdGhpcy5jb25maWcubGV2ZWw7XHJcbiAgfVxyXG5cclxuICAvKiogR2V0IGEgcmVhZG9ubHkgYWNjZXNzIHRvIHRoZSBzZXJ2ZXJMb2dMZXZlbCBjb25maWd1cmVkIGZvciB0aGUgTkdYTG9nZ2VyICovXHJcbiAgZ2V0IHNlcnZlckxvZ0xldmVsKCk6IE5neExvZ2dlckxldmVsIHtcclxuICAgIHJldHVybiB0aGlzLmNvbmZpZy5zZXJ2ZXJMb2dMZXZlbDtcclxuICB9XHJcblxyXG4gIHVwZGF0ZUNvbmZpZyhjb25maWc6IElOR1hMb2dnZXJDb25maWcpIHtcclxuICAgIHRoaXMuY29uZmlnID0gdGhpcy5fY2xvbmUoY29uZmlnKTtcclxuICB9XHJcblxyXG4gIGdldENvbmZpZygpOiBJTkdYTG9nZ2VyQ29uZmlnIHtcclxuICAgIHJldHVybiB0aGlzLl9jbG9uZSh0aGlzLmNvbmZpZyk7XHJcbiAgfVxyXG5cclxuICAvLyBUT0RPOiBUaGlzIGlzIGEgc2hhbGxvdyBjbG9uZSwgSWYgdGhlIGNvbmZpZyBldmVyIGJlY29tZXMgaGllcmFyY2hpY2FsIHdlIG11c3QgbWFrZSB0aGlzIGEgZGVlcCBjbG9uZVxyXG4gIHByaXZhdGUgX2Nsb25lKG9iamVjdDogYW55KSB7XHJcbiAgICBjb25zdCBjbG9uZUNvbmZpZzogSU5HWExvZ2dlckNvbmZpZyA9IHsgbGV2ZWw6IG51bGwgfTtcclxuXHJcbiAgICBPYmplY3Qua2V5cyhvYmplY3QpLmZvckVhY2goKGtleSkgPT4ge1xyXG4gICAgICBjbG9uZUNvbmZpZ1trZXldID0gb2JqZWN0W2tleV07XHJcbiAgICB9KTtcclxuXHJcbiAgICByZXR1cm4gY2xvbmVDb25maWc7XHJcbiAgfVxyXG59XHJcbiJdfQ==