| import {isDevMode} from "@angular/core"; |
| declare var console: any; |
| |
| export interface ILogger { |
| assert(...args: any[]): void; |
| error(...args: any[]): void; |
| group(...args: any[]): void; |
| groupEnd(...args: any[]): void; |
| info(...args: any[]): void; |
| log(...args: any[]): void; |
| warn(...args: any[]): void; |
| } |
| |
| export class LogService implements ILogger { |
| |
| isProduction : boolean = !isDevMode(); |
| public assert(...args: any[]): void { |
| console.assert(LogService.getPrefixLog(...args)); |
| } |
| |
| public error(...args: any[]): void { |
| console.error(LogService.getPrefixLog(...args)); |
| } |
| |
| public group(...args: any[]): void { |
| console.group(LogService.getPrefixLog(...args)); |
| } |
| |
| public groupEnd(...args: any[]): void { |
| console.groupEnd(LogService.getPrefixLog(...args)); |
| } |
| |
| public info(...args: any[]): void { |
| console.info(LogService.getPrefixLog(...args)); |
| } |
| |
| public log(...args: any[]): void { |
| if(!this.isProduction){ |
| console.log(LogService.getPrefixLog(...args)); |
| } |
| } |
| |
| public warn(...args: any[]): void { |
| console.warn(LogService.getPrefixLog(...args)); |
| } |
| |
| static getPrefixLog(...args :any[]){ |
| return { |
| time : new Date(), |
| message : args[0], |
| data : args.length > 0 ? args[1] : '' |
| }; |
| } |
| } |
| |
| |
| |
| |