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 | 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x | import { Injectable } from '@angular/core'; import { ILogService } from '../../models/logger.model'; I import { LibraryConfigService } from '../library-config/library-config.service'; @Injectable({ providedIn: 'root' }) export class LoggerService implements ILogService { public log; public LOG_FNS = []; public MSG_PREFIXES = [ ['[', ']'], ['[', '] WARN: '], ['[', '] ERROR: '] ]; constructor(private libraryConfigSrv: LibraryConfigService) { } private getLoggerFns(prefix: string) { this.log = window.console; this.LOG_FNS = [this.log.log, this.log.warn, this.log.error]; const loggerFns = this.LOG_FNS.map((logTemplFn, i) => { return logTemplFn.bind(this.log, this.MSG_PREFIXES[i][0] + prefix + this.MSG_PREFIXES[i][1]); }); return loggerFns; } public get(prefix: string) { const prodMode = this.libraryConfigSrv.isProduction(); const loggerService = this; return { d: function(...args: any[]) { if (!prodMode) { loggerService.getLoggerFns(prefix)[0].apply(this.log, arguments); } }, w: function(...args: any[]) { loggerService.getLoggerFns(prefix)[1].apply(this.log, arguments); }, e: function(...args: any[]) { loggerService.getLoggerFns(prefix)[2].apply(this.log, arguments); } }; } } |