UNPKG

@tangential/core

Version:

Core types and support code for Tangential

93 lines 10.4 kB
import { Injectable, Optional } from '@angular/core'; import { LogMessage } from './log-message'; import * as i0 from "@angular/core"; const spaces = ' '; /** * * */ export const LogLevels = { NONE: 'NONE', fatal: 'fatal', error: 'error', warn: 'warn', info: 'info', debug: 'debug', trace: 'trace' }; export class LoggerConfiguration { constructor() { this.contextAsStringWidth = 30; this.includeFullContext = false; /** * For temporarily shutting of logging, use NONE, but if you are shutting off logging for production, or because you're using * another logging system, you should Provide a simpler logging class in your module configuration. * @type {LogLevel} */ this.logLevel = 'trace'; } } const emptyFn = function (...x) { }; export class Logger { constructor(configuration) { this.config = new LoggerConfiguration(); this.config = configuration || this.config; this.applyLevel(); } trace(context, ...message) { this.log(new LogMessage('trace', context, ...message)); } debug(context, ...message) { this.log(new LogMessage('debug', context, ...message)); } info(context, ...message) { this.log(new LogMessage('info', context, ...message)); } warn(context, ...message) { this.log(new LogMessage('warn', context, ...message)); } error(context, ...message) { this.log(new LogMessage('error', context, ...message)); } fatal(context, ...message) { this.log(new LogMessage('fatal', context, ...message)); } applyLevel() { console.log('Logger', 'applyLevel', this.config); /** * This keeps noise off the system bus when running in production mode or with logging off. * Yes, it's supposed to fall through, despite the evil nature. */ // @ts-ignore // noinspection FallThroughInSwitchStatementJS switch (this.config.logLevel) { // @ts-ignore case LogLevels.NONE: this.fatal = emptyFn; // @ts-ignore case LogLevels.fatal: this.error = emptyFn; // @ts-ignore case LogLevels.error: this.warn = emptyFn; // @ts-ignore case LogLevels.warn: this.info = emptyFn; // @ts-ignore case LogLevels.info: this.debug = emptyFn; // @ts-ignore case LogLevels.debug: this.trace = emptyFn; // @ts-ignore } } } Logger.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: Logger, deps: [{ token: LoggerConfiguration, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); Logger.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: Logger }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: Logger, decorators: [{ type: Injectable }], ctorParameters: function () { return [{ type: LoggerConfiguration, decorators: [{ type: Optional }] }]; } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nZ2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGFuZ2VudGlhbC9jb3JlL3NyYy9saWIvbWVzc2FnZS1idXMvbG9nZ2luZy9sb2dnZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFVBQVUsRUFDVixRQUFRLEVBQ1QsTUFBTSxlQUFlLENBQUE7QUFDdEIsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQTs7QUFFeEMsTUFBTSxNQUFNLEdBQUcsc0dBQXNHLENBQUE7QUFJckg7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFHO0lBQ3ZCLElBQUksRUFBYSxNQUFNO0lBQ3ZCLEtBQUssRUFBWSxPQUFPO0lBQ3hCLEtBQUssRUFBWSxPQUFPO0lBQ3hCLElBQUksRUFBYSxNQUFNO0lBQ3ZCLElBQUksRUFBYSxNQUFNO0lBQ3ZCLEtBQUssRUFBWSxPQUFPO0lBQ3hCLEtBQUssRUFBWSxPQUFPO0NBQ3pCLENBQUE7QUFFRCxNQUFNLE9BQU8sbUJBQW1CO0lBQWhDO1FBQ0UseUJBQW9CLEdBQVcsRUFBRSxDQUFBO1FBQ2pDLHVCQUFrQixHQUFZLEtBQUssQ0FBQTtRQUNuQzs7OztXQUlHO1FBQ0gsYUFBUSxHQUFhLE9BQU8sQ0FBQTtJQUM5QixDQUFDO0NBQUE7QUFFRCxNQUFNLE9BQU8sR0FBRyxVQUFVLEdBQUcsQ0FBUSxJQUFRLENBQUMsQ0FBQTtBQUk5QyxNQUFNLE9BQWdCLE1BQU07SUFJMUIsWUFBa0MsYUFBbUM7UUFGckUsV0FBTSxHQUF3QixJQUFJLG1CQUFtQixFQUFFLENBQUE7UUFHckQsSUFBSSxDQUFDLE1BQU0sR0FBRyxhQUFhLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQTtRQUMxQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUE7SUFDbkIsQ0FBQztJQUlELEtBQUssQ0FBQyxPQUFZLEVBQUUsR0FBRyxPQUFhO1FBQ2xDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxVQUFVLENBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUE7SUFDeEQsQ0FBQztJQUVELEtBQUssQ0FBQyxPQUFZLEVBQUUsR0FBRyxPQUFhO1FBQ2xDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxVQUFVLENBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUE7SUFDeEQsQ0FBQztJQUVELElBQUksQ0FBQyxPQUFZLEVBQUUsR0FBRyxPQUFhO1FBQ2pDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxVQUFVLENBQUMsTUFBTSxFQUFFLE9BQU8sRUFBRSxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUE7SUFDdkQsQ0FBQztJQUVELElBQUksQ0FBQyxPQUFZLEVBQUUsR0FBRyxPQUFhO1FBQ2pDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxVQUFVLENBQUMsTUFBTSxFQUFFLE9BQU8sRUFBRSxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUE7SUFDdkQsQ0FBQztJQUVELEtBQUssQ0FBQyxPQUFZLEVBQUUsR0FBRyxPQUFhO1FBQ2xDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxVQUFVLENBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUE7SUFDeEQsQ0FBQztJQUVELEtBQUssQ0FBQyxPQUFZLEVBQUUsR0FBRyxPQUFhO1FBQ2xDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxVQUFVLENBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUE7SUFDeEQsQ0FBQztJQUdPLFVBQVU7UUFDaEIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsWUFBWSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQTtRQUNoRDs7O1dBR0c7UUFDSCxhQUFhO1FBQ2IsOENBQThDO1FBQzlDLFFBQVEsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUU7WUFDNUIsYUFBYTtZQUNiLEtBQUssU0FBUyxDQUFDLElBQUk7Z0JBQ2pCLElBQUksQ0FBQyxLQUFLLEdBQUcsT0FBTyxDQUFBO1lBQ3RCLGFBQWE7WUFDYixLQUFLLFNBQVMsQ0FBQyxLQUFLO2dCQUNsQixJQUFJLENBQUMsS0FBSyxHQUFHLE9BQU8sQ0FBQTtZQUN0QixhQUFhO1lBQ2IsS0FBSyxTQUFTLENBQUMsS0FBSztnQkFDbEIsSUFBSSxDQUFDLElBQUksR0FBRyxPQUFPLENBQUE7WUFDckIsYUFBYTtZQUNiLEtBQUssU0FBUyxDQUFDLElBQUk7Z0JBQ2pCLElBQUksQ0FBQyxJQUFJLEdBQUcsT0FBTyxDQUFBO1lBQ3JCLGFBQWE7WUFDYixLQUFLLFNBQVMsQ0FBQyxJQUFJO2dCQUNqQixJQUFJLENBQUMsS0FBSyxHQUFHLE9BQU8sQ0FBQTtZQUN0QixhQUFhO1lBQ2IsS0FBSyxTQUFTLENBQUMsS0FBSztnQkFDbEIsSUFBSSxDQUFDLEtBQUssR0FBRyxPQUFPLENBQUE7WUFDdEIsYUFBYTtTQUNkO0lBQ0gsQ0FBQzs7b0dBakVtQixNQUFNO3dHQUFOLE1BQU07NEZBQU4sTUFBTTtrQkFEM0IsVUFBVTs7MEJBS2MsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEluamVjdGFibGUsXG4gIE9wdGlvbmFsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQge0xvZ01lc3NhZ2V9IGZyb20gJy4vbG9nLW1lc3NhZ2UnXG5cbmNvbnN0IHNwYWNlcyA9ICcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1xuXG5leHBvcnQgdHlwZSBMb2dMZXZlbCA9ICd0cmFjZScgfCAnZGVidWcnIHwgJ2luZm8nIHwgJ3dhcm4nIHwgJ2Vycm9yJyB8ICdmYXRhbCcgfCAnTk9ORSdcblxuLyoqXG4gKlxuICpcbiAqL1xuZXhwb3J0IGNvbnN0IExvZ0xldmVscyA9IHtcbiAgTk9ORTogIDxMb2dMZXZlbD4nTk9ORScsXG4gIGZhdGFsOiA8TG9nTGV2ZWw+J2ZhdGFsJyxcbiAgZXJyb3I6IDxMb2dMZXZlbD4nZXJyb3InLFxuICB3YXJuOiAgPExvZ0xldmVsPid3YXJuJyxcbiAgaW5mbzogIDxMb2dMZXZlbD4naW5mbycsXG4gIGRlYnVnOiA8TG9nTGV2ZWw+J2RlYnVnJyxcbiAgdHJhY2U6IDxMb2dMZXZlbD4ndHJhY2UnXG59XG5cbmV4cG9ydCBjbGFzcyBMb2dnZXJDb25maWd1cmF0aW9uIHtcbiAgY29udGV4dEFzU3RyaW5nV2lkdGg6IG51bWJlciA9IDMwXG4gIGluY2x1ZGVGdWxsQ29udGV4dDogYm9vbGVhbiA9IGZhbHNlXG4gIC8qKlxuICAgKiBGb3IgdGVtcG9yYXJpbHkgc2h1dHRpbmcgb2YgbG9nZ2luZywgdXNlIE5PTkUsIGJ1dCBpZiB5b3UgYXJlIHNodXR0aW5nIG9mZiBsb2dnaW5nIGZvciBwcm9kdWN0aW9uLCBvciBiZWNhdXNlIHlvdSdyZSB1c2luZ1xuICAgKiBhbm90aGVyIGxvZ2dpbmcgc3lzdGVtLCB5b3Ugc2hvdWxkIFByb3ZpZGUgYSBzaW1wbGVyIGxvZ2dpbmcgY2xhc3MgaW4geW91ciBtb2R1bGUgY29uZmlndXJhdGlvbi5cbiAgICogQHR5cGUge0xvZ0xldmVsfVxuICAgKi9cbiAgbG9nTGV2ZWw6IExvZ0xldmVsID0gJ3RyYWNlJ1xufVxuXG5jb25zdCBlbXB0eUZuID0gZnVuY3Rpb24gKC4uLng6IGFueVtdKTogYW55IHt9XG5cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIExvZ2dlciB7XG5cbiAgY29uZmlnOiBMb2dnZXJDb25maWd1cmF0aW9uID0gbmV3IExvZ2dlckNvbmZpZ3VyYXRpb24oKVxuXG4gIHByb3RlY3RlZCBjb25zdHJ1Y3RvcihAT3B0aW9uYWwoKSBjb25maWd1cmF0aW9uPzogTG9nZ2VyQ29uZmlndXJhdGlvbikge1xuICAgIHRoaXMuY29uZmlnID0gY29uZmlndXJhdGlvbiB8fCB0aGlzLmNvbmZpZ1xuICAgIHRoaXMuYXBwbHlMZXZlbCgpXG4gIH1cblxuICBhYnN0cmFjdCBsb2cobWVzc2FnZTogTG9nTWVzc2FnZSk6IHZvaWRcblxuICB0cmFjZShjb250ZXh0OiBhbnksIC4uLm1lc3NhZ2U6YW55W10pIHtcbiAgICB0aGlzLmxvZyhuZXcgTG9nTWVzc2FnZSgndHJhY2UnLCBjb250ZXh0LCAuLi5tZXNzYWdlKSlcbiAgfVxuXG4gIGRlYnVnKGNvbnRleHQ6IGFueSwgLi4ubWVzc2FnZTphbnlbXSkge1xuICAgIHRoaXMubG9nKG5ldyBMb2dNZXNzYWdlKCdkZWJ1ZycsIGNvbnRleHQsIC4uLm1lc3NhZ2UpKVxuICB9XG5cbiAgaW5mbyhjb250ZXh0OiBhbnksIC4uLm1lc3NhZ2U6YW55W10pIHtcbiAgICB0aGlzLmxvZyhuZXcgTG9nTWVzc2FnZSgnaW5mbycsIGNvbnRleHQsIC4uLm1lc3NhZ2UpKVxuICB9XG5cbiAgd2Fybihjb250ZXh0OiBhbnksIC4uLm1lc3NhZ2U6YW55W10pIHtcbiAgICB0aGlzLmxvZyhuZXcgTG9nTWVzc2FnZSgnd2FybicsIGNvbnRleHQsIC4uLm1lc3NhZ2UpKVxuICB9XG5cbiAgZXJyb3IoY29udGV4dDogYW55LCAuLi5tZXNzYWdlOmFueVtdKSB7XG4gICAgdGhpcy5sb2cobmV3IExvZ01lc3NhZ2UoJ2Vycm9yJywgY29udGV4dCwgLi4ubWVzc2FnZSkpXG4gIH1cblxuICBmYXRhbChjb250ZXh0OiBhbnksIC4uLm1lc3NhZ2U6YW55W10pIHtcbiAgICB0aGlzLmxvZyhuZXcgTG9nTWVzc2FnZSgnZmF0YWwnLCBjb250ZXh0LCAuLi5tZXNzYWdlKSlcbiAgfVxuXG5cbiAgcHJpdmF0ZSBhcHBseUxldmVsKCkge1xuICAgIGNvbnNvbGUubG9nKCdMb2dnZXInLCAnYXBwbHlMZXZlbCcsIHRoaXMuY29uZmlnKVxuICAgIC8qKlxuICAgICAqIFRoaXMga2VlcHMgbm9pc2Ugb2ZmIHRoZSBzeXN0ZW0gYnVzIHdoZW4gcnVubmluZyBpbiBwcm9kdWN0aW9uIG1vZGUgb3Igd2l0aCBsb2dnaW5nIG9mZi5cbiAgICAgKiBZZXMsIGl0J3Mgc3VwcG9zZWQgdG8gZmFsbCB0aHJvdWdoLCBkZXNwaXRlIHRoZSBldmlsIG5hdHVyZS5cbiAgICAgKi9cbiAgICAvLyBAdHMtaWdub3JlXG4gICAgLy8gbm9pbnNwZWN0aW9uIEZhbGxUaHJvdWdoSW5Td2l0Y2hTdGF0ZW1lbnRKU1xuICAgIHN3aXRjaCAodGhpcy5jb25maWcubG9nTGV2ZWwpIHtcbiAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgIGNhc2UgTG9nTGV2ZWxzLk5PTkU6XG4gICAgICAgIHRoaXMuZmF0YWwgPSBlbXB0eUZuXG4gICAgICAvLyBAdHMtaWdub3JlXG4gICAgICBjYXNlIExvZ0xldmVscy5mYXRhbDpcbiAgICAgICAgdGhpcy5lcnJvciA9IGVtcHR5Rm5cbiAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgIGNhc2UgTG9nTGV2ZWxzLmVycm9yOlxuICAgICAgICB0aGlzLndhcm4gPSBlbXB0eUZuXG4gICAgICAvLyBAdHMtaWdub3JlXG4gICAgICBjYXNlIExvZ0xldmVscy53YXJuOlxuICAgICAgICB0aGlzLmluZm8gPSBlbXB0eUZuXG4gICAgICAvLyBAdHMtaWdub3JlXG4gICAgICBjYXNlIExvZ0xldmVscy5pbmZvOlxuICAgICAgICB0aGlzLmRlYnVnID0gZW1wdHlGblxuICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgY2FzZSBMb2dMZXZlbHMuZGVidWc6XG4gICAgICAgIHRoaXMudHJhY2UgPSBlbXB0eUZuXG4gICAgICAvLyBAdHMtaWdub3JlXG4gICAgfVxuICB9XG5cbn1cbiJdfQ==