UNPKG

@fababracx/ngx-console-logger

Version:

Logging library for Angular

32 lines 5.16 kB
import { ngxConsoleLoggerConfigDefault } from '../config/ngx-console-logger-config'; import { NgxConsoleLogger } from '../models/ngx-console-logger'; export const LifecycleLog = (type = 'debug', LIFECYCLE_HOOKS = ['ngOnInit', 'ngOnChanges', 'ngOnDestroy'], config = ngxConsoleLoggerConfigDefault) => { NgxConsoleLogger.init(config); console.log('constructor'); return (target) => { console.log('target', target); // if (!environment.production) { // You can add/remove events for your needs const component = target.name; LIFECYCLE_HOOKS.forEach(hook => { console.log('hook'); const original = target.prototype[hook]; target.prototype[hook] = (...args) => { if (NgxConsoleLogger?.[hook]) { NgxConsoleLogger[hook](`${component}`, ...args); } else if (type) { NgxConsoleLogger[type](`${component} - ${hook}`, ...args); } else { console.log(`${component} - ${hook}`, ...args); } return original?.apply(this, args); }; // target.prototype[hook](); }); // } return target; }; }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlmZWN5Y2xlLWxvZy5kZWNvcmF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtY29uc29sZS1sb2dnZXIvc3JjL2xpYi9kZWNvcmF0b3JzL2xpZmVjeWNsZS1sb2cuZGVjb3JhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBRXBGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBRWhFLE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxDQUMxQixPQUFzQyxPQUFPLEVBQzdDLGVBQWUsR0FBRyxDQUFDLFVBQVUsRUFBRSxhQUFhLEVBQUUsYUFBYSxDQUFDLEVBQzVELFNBQWtDLDZCQUE2QixFQUMvQyxFQUFFO0lBQ2xCLGdCQUFnQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUU5QixPQUFPLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQzNCLE9BQU8sQ0FBQyxNQUFXLEVBQUUsRUFBRTtRQUNyQixPQUFPLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUM5QixpQ0FBaUM7UUFDakMsMkNBQTJDO1FBQzNDLE1BQU0sU0FBUyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUM7UUFFOUIsZUFBZSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUM3QixPQUFPLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3BCLE1BQU0sUUFBUSxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7WUFFeEMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBVyxFQUFPLEVBQUU7Z0JBQy9DLElBQUksZ0JBQWdCLEVBQUUsQ0FBQyxJQUFxQyxDQUFDLEVBQUU7b0JBQzdELGdCQUFnQixDQUFDLElBQXFDLENBQUMsQ0FBQyxHQUFHLFNBQVMsRUFBRSxFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUM7aUJBQ2xGO3FCQUFNLElBQUksSUFBSSxFQUFFO29CQUNmLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsU0FBUyxNQUFNLElBQUksRUFBRSxFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUM7aUJBQzNEO3FCQUFNO29CQUNMLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxTQUFTLE1BQU0sSUFBSSxFQUFFLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQztpQkFDaEQ7Z0JBRUQsT0FBTyxRQUFRLEVBQUUsS0FBSyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztZQUNyQyxDQUFDLENBQUM7WUFDRiw0QkFBNEI7UUFDOUIsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJO1FBQ0osT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQyxDQUFDO0FBQ0osQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgbmd4Q29uc29sZUxvZ2dlckNvbmZpZ0RlZmF1bHQgfSBmcm9tICcuLi9jb25maWcvbmd4LWNvbnNvbGUtbG9nZ2VyLWNvbmZpZyc7XHJcbmltcG9ydCB7IElOZ3hDb25zb2xlTG9nZ2VyQ29uZmlnIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9pLW5neC1jb25zb2xlLWxvZ2dlci1jb25maWcnO1xyXG5pbXBvcnQgeyBOZ3hDb25zb2xlTG9nZ2VyIH0gZnJvbSAnLi4vbW9kZWxzL25neC1jb25zb2xlLWxvZ2dlcic7XHJcblxyXG5leHBvcnQgY29uc3QgTGlmZWN5Y2xlTG9nID0gKFxyXG4gIHR5cGU6IGtleW9mIElOZ3hDb25zb2xlTG9nZ2VyQ29uZmlnID0gJ2RlYnVnJyxcclxuICBMSUZFQ1lDTEVfSE9PS1MgPSBbJ25nT25Jbml0JywgJ25nT25DaGFuZ2VzJywgJ25nT25EZXN0cm95J10sXHJcbiAgY29uZmlnOiBJTmd4Q29uc29sZUxvZ2dlckNvbmZpZyA9IG5neENvbnNvbGVMb2dnZXJDb25maWdEZWZhdWx0XHJcbik6IENsYXNzRGVjb3JhdG9yID0+IHtcclxuICBOZ3hDb25zb2xlTG9nZ2VyLmluaXQoY29uZmlnKTtcclxuXHJcbiAgY29uc29sZS5sb2coJ2NvbnN0cnVjdG9yJyk7XHJcbiAgcmV0dXJuICh0YXJnZXQ6IGFueSkgPT4ge1xyXG4gICAgY29uc29sZS5sb2coJ3RhcmdldCcsIHRhcmdldCk7XHJcbiAgICAvLyBpZiAoIWVudmlyb25tZW50LnByb2R1Y3Rpb24pIHtcclxuICAgIC8vIFlvdSBjYW4gYWRkL3JlbW92ZSBldmVudHMgZm9yIHlvdXIgbmVlZHNcclxuICAgIGNvbnN0IGNvbXBvbmVudCA9IHRhcmdldC5uYW1lO1xyXG5cclxuICAgIExJRkVDWUNMRV9IT09LUy5mb3JFYWNoKGhvb2sgPT4ge1xyXG4gICAgICBjb25zb2xlLmxvZygnaG9vaycpO1xyXG4gICAgICBjb25zdCBvcmlnaW5hbCA9IHRhcmdldC5wcm90b3R5cGVbaG9va107XHJcblxyXG4gICAgICB0YXJnZXQucHJvdG90eXBlW2hvb2tdID0gKC4uLmFyZ3M6IGFueVtdKTogYW55ID0+IHtcclxuICAgICAgICBpZiAoTmd4Q29uc29sZUxvZ2dlcj8uW2hvb2sgYXMga2V5b2YgSU5neENvbnNvbGVMb2dnZXJDb25maWddKSB7XHJcbiAgICAgICAgICBOZ3hDb25zb2xlTG9nZ2VyW2hvb2sgYXMga2V5b2YgSU5neENvbnNvbGVMb2dnZXJDb25maWddKGAke2NvbXBvbmVudH1gLCAuLi5hcmdzKTtcclxuICAgICAgICB9IGVsc2UgaWYgKHR5cGUpIHtcclxuICAgICAgICAgIE5neENvbnNvbGVMb2dnZXJbdHlwZV0oYCR7Y29tcG9uZW50fSAtICR7aG9va31gLCAuLi5hcmdzKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgY29uc29sZS5sb2coYCR7Y29tcG9uZW50fSAtICR7aG9va31gLCAuLi5hcmdzKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiBvcmlnaW5hbD8uYXBwbHkodGhpcywgYXJncyk7XHJcbiAgICAgIH07XHJcbiAgICAgIC8vIHRhcmdldC5wcm90b3R5cGVbaG9va10oKTtcclxuICAgIH0pO1xyXG4gICAgLy8gfVxyXG4gICAgcmV0dXJuIHRhcmdldDtcclxuICB9O1xyXG59O1xyXG4iXX0=