UNPKG

@yaagoub/decorators

Version:

Angular decorators

43 lines 4.28 kB
import { Injectable } from '@angular/core'; import { SettingsService } from './ygb-settings.service'; import * as i0 from "@angular/core"; import * as i1 from "./ygb-settings.service"; export class SendLogService { settings; constructor(settings) { this.settings = settings; } /** * Sends a log entry to the backend. * * @param level - The level of the log (e.g., 'info', 'error'). * @param message - The log message. * @param context - Additional context for the log entry. * * @example * const logService = new SendLogService(settingsService); * logService.sendLogToBackend('info', 'This is a log message', { userId: 123 }); */ sendLogToBackend(level, message, context = {}) { const logEntry = { level, message, context, timestamp: new Date().toISOString(), }; fetch(this.settings.getSettings().path, { method: 'POST', headers: { 'Content-Type': 'application/json', }, body: JSON.stringify(logEntry), }); } static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: SendLogService, deps: [{ token: i1.SettingsService }], target: i0.ɵɵFactoryTarget.Injectable }); static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: SendLogService, providedIn: 'root' }); } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: SendLogService, decorators: [{ type: Injectable, args: [{ providedIn: 'root' }] }], ctorParameters: () => [{ type: i1.SettingsService }] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieWdiLXNlbmQtbG9nLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2RlY29yYXRvcnMvc3JjL2xvZ2dpbmcvc2VydmljZXMveWdiLXNlbmQtbG9nLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7OztBQUd6RCxNQUFNLE9BQU8sY0FBYztJQUNMO0lBQXBCLFlBQW9CLFFBQXlCO1FBQXpCLGFBQVEsR0FBUixRQUFRLENBQWlCO0lBQUksQ0FBQztJQUVsRDs7Ozs7Ozs7OztPQVVHO0lBQ0gsZ0JBQWdCLENBQUMsS0FBYSxFQUFFLE9BQWUsRUFBRSxVQUFlLEVBQUU7UUFFaEUsTUFBTSxRQUFRLEdBQUc7WUFDZixLQUFLO1lBQ0wsT0FBTztZQUNQLE9BQU87WUFDUCxTQUFTLEVBQUUsSUFBSSxJQUFJLEVBQUUsQ0FBQyxXQUFXLEVBQUU7U0FDcEMsQ0FBQztRQUVGLEtBQUssQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsRUFBRSxDQUFDLElBQUksRUFBRTtZQUN0QyxNQUFNLEVBQUUsTUFBTTtZQUNkLE9BQU8sRUFBRTtnQkFDVCxjQUFjLEVBQUUsa0JBQWtCO2FBQ2pDO1lBQ0QsSUFBSSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDO1NBQy9CLENBQUMsQ0FBQztJQUNMLENBQUM7dUdBOUJVLGNBQWM7MkdBQWQsY0FBYyxjQURGLE1BQU07OzJGQUNsQixjQUFjO2tCQUQxQixVQUFVO21CQUFDLEVBQUMsVUFBVSxFQUFFLE1BQU0sRUFBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNldHRpbmdzU2VydmljZSB9IGZyb20gJy4veWdiLXNldHRpbmdzLnNlcnZpY2UnO1xuXG5ASW5qZWN0YWJsZSh7cHJvdmlkZWRJbjogJ3Jvb3QnfSlcbmV4cG9ydCBjbGFzcyBTZW5kTG9nU2VydmljZSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc2V0dGluZ3M6IFNldHRpbmdzU2VydmljZSkgeyB9XG5cbiAgLyoqXG4gICAqIFNlbmRzIGEgbG9nIGVudHJ5IHRvIHRoZSBiYWNrZW5kLlxuICAgKiBcbiAgICogQHBhcmFtIGxldmVsIC0gVGhlIGxldmVsIG9mIHRoZSBsb2cgKGUuZy4sICdpbmZvJywgJ2Vycm9yJykuXG4gICAqIEBwYXJhbSBtZXNzYWdlIC0gVGhlIGxvZyBtZXNzYWdlLlxuICAgKiBAcGFyYW0gY29udGV4dCAtIEFkZGl0aW9uYWwgY29udGV4dCBmb3IgdGhlIGxvZyBlbnRyeS5cbiAgICogXG4gICAqIEBleGFtcGxlXG4gICAqIGNvbnN0IGxvZ1NlcnZpY2UgPSBuZXcgU2VuZExvZ1NlcnZpY2Uoc2V0dGluZ3NTZXJ2aWNlKTtcbiAgICogbG9nU2VydmljZS5zZW5kTG9nVG9CYWNrZW5kKCdpbmZvJywgJ1RoaXMgaXMgYSBsb2cgbWVzc2FnZScsIHsgdXNlcklkOiAxMjMgfSk7XG4gICAqL1xuICBzZW5kTG9nVG9CYWNrZW5kKGxldmVsOiBzdHJpbmcsIG1lc3NhZ2U6IHN0cmluZywgY29udGV4dDogYW55ID0ge30pIHtcbiAgICBcbiAgICBjb25zdCBsb2dFbnRyeSA9IHtcbiAgICAgIGxldmVsLFxuICAgICAgbWVzc2FnZSxcbiAgICAgIGNvbnRleHQsXG4gICAgICB0aW1lc3RhbXA6IG5ldyBEYXRlKCkudG9JU09TdHJpbmcoKSxcbiAgICB9O1xuXG4gICAgZmV0Y2godGhpcy5zZXR0aW5ncy5nZXRTZXR0aW5ncygpLnBhdGgsIHtcbiAgICAgIG1ldGhvZDogJ1BPU1QnLFxuICAgICAgaGVhZGVyczoge1xuICAgICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJyxcbiAgICAgIH0sXG4gICAgICBib2R5OiBKU09OLnN0cmluZ2lmeShsb2dFbnRyeSksXG4gICAgfSk7XG4gIH1cbiAgXG59Il19