@ng-log/log4a
Version:
A powerful and customizable logging library for Angular application.
60 lines • 7.48 kB
JavaScript
import { Injectable } from '@angular/core';
import { LocalStorageAppender, ConsoleAppender, WebApiAppender } from './core-appender.service';
import { HttpClient } from '@angular/common/http';
import * as i0 from "@angular/core";
import * as i1 from "@angular/common/http";
export class AppenderService {
constructor(http) {
this.http = http;
this.appenders = [];
console.log('AppenderService Initiated');
}
loadConfig(logConfig) {
let appender = {};
for (const pub of logConfig.filter(p => p.enable)) {
switch (pub.appenderName.toLowerCase()) {
case 'console':
appender = new ConsoleAppender();
break;
case 'localstorage':
appender = new LocalStorageAppender();
break;
case 'serverapi':
appender = new WebApiAppender(this.http);
break;
}
// Set location of logging
appender.location = pub.location;
// Add publisher to array
this.appenders.push(appender);
}
}
loadRuntimeConfig() {
let appender = {};
console.log(this.getQueryParams('logger-option'));
switch (this.getQueryParams('logger-option')) {
case 'console':
appender = new ConsoleAppender();
break;
case 'localstorage':
appender = new LocalStorageAppender();
break;
case 'serverapi':
appender = new WebApiAppender(this.http);
break;
}
this.appenders.push(appender);
}
getQueryParams(param) {
const href = location.href;
const reg = new RegExp('[?&]' + param + '=([^&#]*)', 'i');
const string = reg.exec(href);
return string ? string[1] : '';
}
}
/** @nocollapse */ AppenderService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AppenderService, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
/** @nocollapse */ AppenderService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AppenderService });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AppenderService, decorators: [{
type: Injectable
}], ctorParameters: function () { return [{ type: i1.HttpClient }]; } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwZW5kZXItaW1wbC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctbG9nL2xvZzRhL3NyYy9saWIvYXBwZW5kZXItaW1wbC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLG9CQUFvQixFQUFFLGVBQWUsRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNoRyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7OztBQUlsRCxNQUFNLE9BQU8sZUFBZTtJQUkxQixZQUFvQixJQUFnQjtRQUFoQixTQUFJLEdBQUosSUFBSSxDQUFZO1FBRnBDLGNBQVMsR0FBcUIsRUFBRSxDQUFDO1FBRy9CLE9BQU8sQ0FBQyxHQUFHLENBQUMsMkJBQTJCLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBRUQsVUFBVSxDQUFDLFNBQThCO1FBQ3ZDLElBQUksUUFBUSxHQUFHLEVBQW9CLENBQUM7UUFDcEMsS0FBSyxNQUFNLEdBQUcsSUFBSSxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ2pELFFBQVEsR0FBRyxDQUFDLFlBQVksQ0FBQyxXQUFXLEVBQUUsRUFBRTtnQkFDdEMsS0FBSyxTQUFTO29CQUNaLFFBQVEsR0FBRyxJQUFJLGVBQWUsRUFBRSxDQUFDO29CQUNqQyxNQUFNO2dCQUNSLEtBQUssY0FBYztvQkFDakIsUUFBUSxHQUFHLElBQUksb0JBQW9CLEVBQUUsQ0FBQztvQkFDdEMsTUFBTTtnQkFDUixLQUFLLFdBQVc7b0JBQ2QsUUFBUSxHQUFHLElBQUksY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztvQkFDekMsTUFBTTthQUVUO1lBQ0QsMEJBQTBCO1lBQzFCLFFBQVEsQ0FBQyxRQUFRLEdBQUcsR0FBRyxDQUFDLFFBQVEsQ0FBQztZQUNqQyx5QkFBeUI7WUFDekIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7U0FFL0I7SUFDSCxDQUFDO0lBRUQsaUJBQWlCO1FBQ2YsSUFBSSxRQUFRLEdBQUcsRUFBb0IsQ0FBQztRQUNsQyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQztRQUNsRCxRQUFRLElBQUksQ0FBQyxjQUFjLENBQUMsZUFBZSxDQUFDLEVBQUU7WUFDNUMsS0FBSyxTQUFTO2dCQUNaLFFBQVEsR0FBRyxJQUFJLGVBQWUsRUFBRSxDQUFDO2dCQUNqQyxNQUFNO1lBQ1IsS0FBSyxjQUFjO2dCQUNqQixRQUFRLEdBQUcsSUFBSSxvQkFBb0IsRUFBRSxDQUFDO2dCQUN0QyxNQUFNO1lBQ1IsS0FBSyxXQUFXO2dCQUNkLFFBQVEsR0FBRyxJQUFJLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ3pDLE1BQU07U0FDVDtRQUNELElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFTSxjQUFjLENBQUMsS0FBYTtRQUNqQyxNQUFNLElBQUksR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDO1FBQzNCLE1BQU0sR0FBRyxHQUFHLElBQUksTUFBTSxDQUFDLE1BQU0sR0FBRyxLQUFLLEdBQUcsV0FBVyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQzFELE1BQU0sTUFBTSxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDOUIsT0FBTyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQ2pDLENBQUM7O2dJQXJEVSxlQUFlO29JQUFmLGVBQWU7NEZBQWYsZUFBZTtrQkFEM0IsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IExvY2FsU3RvcmFnZUFwcGVuZGVyLCBDb25zb2xlQXBwZW5kZXIsIFdlYkFwaUFwcGVuZGVyIH0gZnJvbSAnLi9jb3JlLWFwcGVuZGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEFic3RyYWN0TG9nZ2VyLCBMb2dBcHBlbmRlckNvbmZpZyB9IGZyb20gJy4vbG9nNGEubW9kZWwnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQXBwZW5kZXJTZXJ2aWNlIHtcblxuICBhcHBlbmRlcnM6IEFic3RyYWN0TG9nZ2VyW10gPSBbXTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQpIHtcbiAgICBjb25zb2xlLmxvZygnQXBwZW5kZXJTZXJ2aWNlIEluaXRpYXRlZCcpO1xuICB9XG5cbiAgbG9hZENvbmZpZyhsb2dDb25maWc6IExvZ0FwcGVuZGVyQ29uZmlnW10pIHtcbiAgICBsZXQgYXBwZW5kZXIgPSB7fSBhcyBBYnN0cmFjdExvZ2dlcjtcbiAgICBmb3IgKGNvbnN0IHB1YiBvZiBsb2dDb25maWcuZmlsdGVyKHAgPT4gcC5lbmFibGUpKSB7XG4gICAgICBzd2l0Y2ggKHB1Yi5hcHBlbmRlck5hbWUudG9Mb3dlckNhc2UoKSkge1xuICAgICAgICBjYXNlICdjb25zb2xlJzpcbiAgICAgICAgICBhcHBlbmRlciA9IG5ldyBDb25zb2xlQXBwZW5kZXIoKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAnbG9jYWxzdG9yYWdlJzpcbiAgICAgICAgICBhcHBlbmRlciA9IG5ldyBMb2NhbFN0b3JhZ2VBcHBlbmRlcigpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdzZXJ2ZXJhcGknOlxuICAgICAgICAgIGFwcGVuZGVyID0gbmV3IFdlYkFwaUFwcGVuZGVyKHRoaXMuaHR0cCk7XG4gICAgICAgICAgYnJlYWs7XG5cbiAgICAgIH1cbiAgICAgIC8vIFNldCBsb2NhdGlvbiBvZiBsb2dnaW5nXG4gICAgICBhcHBlbmRlci5sb2NhdGlvbiA9IHB1Yi5sb2NhdGlvbjtcbiAgICAgIC8vIEFkZCBwdWJsaXNoZXIgdG8gYXJyYXlcbiAgICAgIHRoaXMuYXBwZW5kZXJzLnB1c2goYXBwZW5kZXIpO1xuXG4gICAgfVxuICB9XG5cbiAgbG9hZFJ1bnRpbWVDb25maWcoKTogdm9pZCB7XG4gICAgbGV0IGFwcGVuZGVyID0ge30gYXMgQWJzdHJhY3RMb2dnZXI7XG4gICAgICBjb25zb2xlLmxvZyh0aGlzLmdldFF1ZXJ5UGFyYW1zKCdsb2dnZXItb3B0aW9uJykpO1xuICAgICAgc3dpdGNoICh0aGlzLmdldFF1ZXJ5UGFyYW1zKCdsb2dnZXItb3B0aW9uJykpIHtcbiAgICAgICAgY2FzZSAnY29uc29sZSc6XG4gICAgICAgICAgYXBwZW5kZXIgPSBuZXcgQ29uc29sZUFwcGVuZGVyKCk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ2xvY2Fsc3RvcmFnZSc6XG4gICAgICAgICAgYXBwZW5kZXIgPSBuZXcgTG9jYWxTdG9yYWdlQXBwZW5kZXIoKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAnc2VydmVyYXBpJzpcbiAgICAgICAgICBhcHBlbmRlciA9IG5ldyBXZWJBcGlBcHBlbmRlcih0aGlzLmh0dHApO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgdGhpcy5hcHBlbmRlcnMucHVzaChhcHBlbmRlcik7XG4gIH1cblxuICBwdWJsaWMgZ2V0UXVlcnlQYXJhbXMocGFyYW06IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3QgaHJlZiA9IGxvY2F0aW9uLmhyZWY7XG4gICAgY29uc3QgcmVnID0gbmV3IFJlZ0V4cCgnWz8mXScgKyBwYXJhbSArICc9KFteJiNdKiknLCAnaScpO1xuICAgIGNvbnN0IHN0cmluZyA9IHJlZy5leGVjKGhyZWYpO1xuICAgIHJldHVybiBzdHJpbmcgPyBzdHJpbmdbMV0gOiAnJztcbiAgfVxuXG59XG4iXX0=