Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 | 1x 120x 120x 120x 120x 120x 25x 2x 2x 2x 31x 31x 28x 28x | import { Inject, Injectable, Optional } from '@angular/core'; import { DynamicFormLibraryService } from '../dynamic-form-library/dynamic-form-library.service'; import { DynamicFormLogType } from './dynamic-form-log-type'; import { DynamicFormLogLevel } from './dynamic-form-log-level'; import { DynamicFormLoggerSettings, dynamicFormLoggerSettingsDefault, DYNAMIC_FORM_LOGGER_SETTINGS } from './dynamic-form-logger-settings'; import { DynamicFormLoggerType } from './dynamic-form-logger-type'; import { DynamicFormLoggerTypeConfig, DYNAMIC_FORM_LOGGER_TYPE_CONFIG } from './dynamic-form-logger-type-config'; @Injectable() export class DynamicFormLogger { readonly loggerTypes: DynamicFormLoggerType[]; constructor( private libraryService: DynamicFormLibraryService, @Optional() @Inject(DYNAMIC_FORM_LOGGER_TYPE_CONFIG) private loggerTypeConfig: DynamicFormLoggerTypeConfig, @Optional() @Inject(DYNAMIC_FORM_LOGGER_SETTINGS) readonly settings: DynamicFormLoggerSettings, ) { this.loggerTypes = this.libraryService.filterTypes(this.loggerTypeConfig); this.settings = this.settings || dynamicFormLoggerSettingsDefault; } error<LogType extends DynamicFormLogType = DynamicFormLogType>(type: LogType, message?: string, ...data: any[]): void { this.logForLevel(DynamicFormLogLevel.Error, type, message, ...data); } warning<LogType extends DynamicFormLogType = DynamicFormLogType>(type: LogType, message?: string, ...data: any[]): void { this.logForLevel(DynamicFormLogLevel.Warning, type, message, ...data); } information<LogType extends DynamicFormLogType = DynamicFormLogType>(type: LogType, message?: string, ...data: any[]): void { this.logForLevel(DynamicFormLogLevel.Information, type, message, ...data); } debug<LogType extends DynamicFormLogType = DynamicFormLogType>(type: LogType, message?: string, ...data: any[]): void { this.logForLevel(DynamicFormLogLevel.Debug, type, message, ...data); } private logEnabled(level: DynamicFormLogLevel): boolean { return this.settings.logLevel >= level; } private logForLevel<LogType extends DynamicFormLogType = DynamicFormLogType>( level: DynamicFormLogLevel, type: LogType, message?: string, ...data: any[] ): void { if (this.logEnabled(level)) { const log = { timestamp: new Date(), level, type, message, data }; this.loggerTypes.filter(f => f.enabled).forEach(logger => logger.log(log)); } } } |