@ngworker/lumberjack
Version:
Lumberjack is a versatile Angular logging library, specifically designed to be extended and customized
42 lines • 6.44 kB
JavaScript
import { Injectable } from '@angular/core';
import { criticalLogDriverLoggingStrategy } from './logging-strategies/critical-log-driver-logging-strategy';
import { debugLogDriverLoggingStrategy } from './logging-strategies/debug-log-driver-logging-strategy';
import { errorLogDriverLoggingStrategy } from './logging-strategies/error-log-driver-logging-strategy';
import { infoLogDriverLoggingStrategy } from './logging-strategies/info-log-driver-logging-strategy';
import { traceLogDriverLoggingStrategy } from './logging-strategies/trace-log-driver-logging-strategy';
import { warningLogDriverLoggingStrategy } from './logging-strategies/warning-log-driver-logging-strategy';
import * as i0 from "@angular/core";
/**
* A context for a log driver logging strategy.
*/
export class LumberjackLogDriverLogger {
/**
* A record of logging strategies for each log level.
*/
#loggingStrategies = {
['critical']: criticalLogDriverLoggingStrategy,
['debug']: debugLogDriverLoggingStrategy,
['error']: errorLogDriverLoggingStrategy,
['info']: infoLogDriverLoggingStrategy,
['trace']: traceLogDriverLoggingStrategy,
['warn']: warningLogDriverLoggingStrategy,
};
/**
* Log the specified log to the log driver.
*
* Forwards control to the log driver logging strategy corresponding to the
* level of the specified log driver log.
*
* @param driver The log driver.
* @param driverLog A log driver log.
*/
log(driver, driverLog) {
this.#loggingStrategies[driverLog.log.level](driver, driverLog);
}
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0", ngImport: i0, type: LumberjackLogDriverLogger, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.0", ngImport: i0, type: LumberjackLogDriverLogger });
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0", ngImport: i0, type: LumberjackLogDriverLogger, decorators: [{
type: Injectable
}] });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibHVtYmVyamFjay1sb2ctZHJpdmVyLWxvZ2dlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL25nd29ya2VyL2x1bWJlcmphY2svc3JjL2xpYi9sb2ctZHJpdmVycy9sdW1iZXJqYWNrLWxvZy1kcml2ZXItbG9nZ2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFLM0MsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0sMkRBQTJELENBQUM7QUFDN0csT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sd0RBQXdELENBQUM7QUFDdkcsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sd0RBQXdELENBQUM7QUFDdkcsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sdURBQXVELENBQUM7QUFFckcsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sd0RBQXdELENBQUM7QUFDdkcsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sMERBQTBELENBQUM7O0FBSTNHOztHQUVHO0FBRUgsTUFBTSxPQUFPLHlCQUF5QjtJQUNwQzs7T0FFRztJQUNNLGtCQUFrQixHQUF1RjtRQUNoSCxDQUFDLFVBQVUsQ0FBQyxFQUFFLGdDQUFnQztRQUM5QyxDQUFDLE9BQU8sQ0FBQyxFQUFFLDZCQUE2QjtRQUN4QyxDQUFDLE9BQU8sQ0FBQyxFQUFFLDZCQUE2QjtRQUN4QyxDQUFDLE1BQU0sQ0FBQyxFQUFFLDRCQUE0QjtRQUN0QyxDQUFDLE9BQU8sQ0FBQyxFQUFFLDZCQUE2QjtRQUN4QyxDQUFDLE1BQU0sQ0FBQyxFQUFFLCtCQUErQjtLQUMxQyxDQUFDO0lBRUY7Ozs7Ozs7O09BUUc7SUFDSCxHQUFHLENBQUMsTUFBcUMsRUFBRSxTQUEyQztRQUNwRixJQUFJLENBQUMsa0JBQWtCLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDbEUsQ0FBQzt1R0F4QlUseUJBQXlCOzJHQUF6Qix5QkFBeUI7OzJGQUF6Qix5QkFBeUI7a0JBRHJDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEx1bWJlcmphY2tMb2dMZXZlbCB9IGZyb20gJy4uL2xvZ3MvbHVtYmVyamFjay1sb2ctbGV2ZWwnO1xuaW1wb3J0IHsgTHVtYmVyamFja0xvZ1BheWxvYWQgfSBmcm9tICcuLi9sb2dzL2x1bWJlcmphY2stbG9nLXBheWxvYWQnO1xuXG5pbXBvcnQgeyBjcml0aWNhbExvZ0RyaXZlckxvZ2dpbmdTdHJhdGVneSB9IGZyb20gJy4vbG9nZ2luZy1zdHJhdGVnaWVzL2NyaXRpY2FsLWxvZy1kcml2ZXItbG9nZ2luZy1zdHJhdGVneSc7XG5pbXBvcnQgeyBkZWJ1Z0xvZ0RyaXZlckxvZ2dpbmdTdHJhdGVneSB9IGZyb20gJy4vbG9nZ2luZy1zdHJhdGVnaWVzL2RlYnVnLWxvZy1kcml2ZXItbG9nZ2luZy1zdHJhdGVneSc7XG5pbXBvcnQgeyBlcnJvckxvZ0RyaXZlckxvZ2dpbmdTdHJhdGVneSB9IGZyb20gJy4vbG9nZ2luZy1zdHJhdGVnaWVzL2Vycm9yLWxvZy1kcml2ZXItbG9nZ2luZy1zdHJhdGVneSc7XG5pbXBvcnQgeyBpbmZvTG9nRHJpdmVyTG9nZ2luZ1N0cmF0ZWd5IH0gZnJvbSAnLi9sb2dnaW5nLXN0cmF0ZWdpZXMvaW5mby1sb2ctZHJpdmVyLWxvZ2dpbmctc3RyYXRlZ3knO1xuaW1wb3J0IHsgTHVtYmVyamFja0xvZ0RyaXZlckxvZ2dpbmdTdHJhdGVneSB9IGZyb20gJy4vbG9nZ2luZy1zdHJhdGVnaWVzL2x1bWJlcmphY2stbG9nLWRyaXZlci1sb2dnaW5nLXN0cmF0ZWd5JztcbmltcG9ydCB7IHRyYWNlTG9nRHJpdmVyTG9nZ2luZ1N0cmF0ZWd5IH0gZnJvbSAnLi9sb2dnaW5nLXN0cmF0ZWdpZXMvdHJhY2UtbG9nLWRyaXZlci1sb2dnaW5nLXN0cmF0ZWd5JztcbmltcG9ydCB7IHdhcm5pbmdMb2dEcml2ZXJMb2dnaW5nU3RyYXRlZ3kgfSBmcm9tICcuL2xvZ2dpbmctc3RyYXRlZ2llcy93YXJuaW5nLWxvZy1kcml2ZXItbG9nZ2luZy1zdHJhdGVneSc7XG5pbXBvcnQgeyBMdW1iZXJqYWNrTG9nRHJpdmVyIH0gZnJvbSAnLi9sdW1iZXJqYWNrLWxvZy1kcml2ZXInO1xuaW1wb3J0IHsgTHVtYmVyamFja0xvZ0RyaXZlckxvZyB9IGZyb20gJy4vbHVtYmVyamFjay1sb2ctZHJpdmVyLmxvZyc7XG5cbi8qKlxuICogQSBjb250ZXh0IGZvciBhIGxvZyBkcml2ZXIgbG9nZ2luZyBzdHJhdGVneS5cbiAqL1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEx1bWJlcmphY2tMb2dEcml2ZXJMb2dnZXI8VFBheWxvYWQgZXh0ZW5kcyBMdW1iZXJqYWNrTG9nUGF5bG9hZCB8IHZvaWQgPSB2b2lkPiB7XG4gIC8qKlxuICAgKiBBIHJlY29yZCBvZiBsb2dnaW5nIHN0cmF0ZWdpZXMgZm9yIGVhY2ggbG9nIGxldmVsLlxuICAgKi9cbiAgcmVhZG9ubHkgI2xvZ2dpbmdTdHJhdGVnaWVzOiBSZWFkb25seTxSZWNvcmQ8THVtYmVyamFja0xvZ0xldmVsLCBMdW1iZXJqYWNrTG9nRHJpdmVyTG9nZ2luZ1N0cmF0ZWd5PFRQYXlsb2FkPj4+ID0ge1xuICAgIFsnY3JpdGljYWwnXTogY3JpdGljYWxMb2dEcml2ZXJMb2dnaW5nU3RyYXRlZ3ksXG4gICAgWydkZWJ1ZyddOiBkZWJ1Z0xvZ0RyaXZlckxvZ2dpbmdTdHJhdGVneSxcbiAgICBbJ2Vycm9yJ106IGVycm9yTG9nRHJpdmVyTG9nZ2luZ1N0cmF0ZWd5LFxuICAgIFsnaW5mbyddOiBpbmZvTG9nRHJpdmVyTG9nZ2luZ1N0cmF0ZWd5LFxuICAgIFsndHJhY2UnXTogdHJhY2VMb2dEcml2ZXJMb2dnaW5nU3RyYXRlZ3ksXG4gICAgWyd3YXJuJ106IHdhcm5pbmdMb2dEcml2ZXJMb2dnaW5nU3RyYXRlZ3ksXG4gIH07XG5cbiAgLyoqXG4gICAqIExvZyB0aGUgc3BlY2lmaWVkIGxvZyB0byB0aGUgbG9nIGRyaXZlci5cbiAgICpcbiAgICogRm9yd2FyZHMgY29udHJvbCB0byB0aGUgbG9nIGRyaXZlciBsb2dnaW5nIHN0cmF0ZWd5IGNvcnJlc3BvbmRpbmcgdG8gdGhlXG4gICAqIGxldmVsIG9mIHRoZSBzcGVjaWZpZWQgbG9nIGRyaXZlciBsb2cuXG4gICAqXG4gICAqIEBwYXJhbSBkcml2ZXIgVGhlIGxvZyBkcml2ZXIuXG4gICAqIEBwYXJhbSBkcml2ZXJMb2cgQSBsb2cgZHJpdmVyIGxvZy5cbiAgICovXG4gIGxvZyhkcml2ZXI6IEx1bWJlcmphY2tMb2dEcml2ZXI8VFBheWxvYWQ+LCBkcml2ZXJMb2c6IEx1bWJlcmphY2tMb2dEcml2ZXJMb2c8VFBheWxvYWQ+KTogdm9pZCB7XG4gICAgdGhpcy4jbG9nZ2luZ1N0cmF0ZWdpZXNbZHJpdmVyTG9nLmxvZy5sZXZlbF0oZHJpdmVyLCBkcml2ZXJMb2cpO1xuICB9XG59XG4iXX0=