import { Injectable } from '@angular/core'; import { ILogger } from './log.interface'; @Injectable() export class LoggerService implements ILogger { constructor() { } private convertToString(data: any): string { return JSON.stringify(data); } private setMessage(level: string, message: string, data: any): string { if (!data) { return `${level} - Message: ${message}`; } return `${level} - Message: ${message}, Data Object: ${this.convertToString(data)}`; } public logDebug(message: string, data: any): void { console.debug(this.setMessage('DEBUG', message, data)); } public logError(message: string, data: any): void { console.error(this.setMessage('ERROR', message, data)); } public logInfo(message: string, data: any): void { console.info(this.setMessage('INFO', message, data)); } public logWarning(message: string, data: any): void { console.warn(this.setMessage('WARNING', message, data)); } public log(message: string, data: any): void { console.log(this.setMessage('LOG', message, data)); } }