ngx-logger
Version:
[](https://www.npmjs.com/package/ngx-logger)
45 lines • 6.11 kB
JavaScript
import { Injectable, Optional } from '@angular/core';
import * as i0 from "@angular/core";
import * as i1 from "@angular/common";
export class NGXLoggerMetadataService {
constructor(datePipe) {
this.datePipe = datePipe;
}
computeTimestamp(config) {
const defaultTimestamp = () => new Date().toISOString();
if (config.timestampFormat) {
if (!this.datePipe) {
console.error('NGXLogger : Can\'t use timeStampFormat because DatePipe is not provided. You need to provide DatePipe');
return defaultTimestamp();
}
else {
return this.datePipe.transform(new Date(), config.timestampFormat);
}
}
return defaultTimestamp();
}
getMetadata(level, config, message, additional) {
const metadata = {
level: level,
additional: additional,
};
// The user can send a function
// This is useful in order to compute string concatenation only when the log will actually be written
if (message && typeof message === 'function') {
metadata.message = message();
}
else {
metadata.message = message;
}
metadata.timestamp = this.computeTimestamp(config);
return metadata;
}
}
/** @nocollapse */ /** @nocollapse */ NGXLoggerMetadataService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: NGXLoggerMetadataService, deps: [{ token: i1.DatePipe, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
/** @nocollapse */ /** @nocollapse */ NGXLoggerMetadataService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: NGXLoggerMetadataService });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: NGXLoggerMetadataService, decorators: [{
type: Injectable
}], ctorParameters: function () { return [{ type: i1.DatePipe, decorators: [{
type: Optional
}] }]; } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0YWRhdGEuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvbWV0YWRhdGEvbWV0YWRhdGEuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBT3JELE1BQU0sT0FBTyx3QkFBd0I7SUFFbkMsWUFDaUMsUUFBa0I7UUFBbEIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtJQUMvQyxDQUFDO0lBRUssZ0JBQWdCLENBQUMsTUFBd0I7UUFDakQsTUFBTSxnQkFBZ0IsR0FBRyxHQUFHLEVBQUUsQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBRXhELElBQUksTUFBTSxDQUFDLGVBQWUsRUFBRTtZQUMxQixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRTtnQkFDbEIsT0FBTyxDQUFDLEtBQUssQ0FBQyx1R0FBdUcsQ0FBQyxDQUFDO2dCQUN2SCxPQUFPLGdCQUFnQixFQUFFLENBQUM7YUFDM0I7aUJBQU07Z0JBQ0wsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxJQUFJLElBQUksRUFBRSxFQUFFLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQzthQUNwRTtTQUNGO1FBRUQsT0FBTyxnQkFBZ0IsRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFTSxXQUFXLENBQ2hCLEtBQXFCLEVBQ3JCLE1BQXdCLEVBQ3hCLE9BQTJCLEVBQzNCLFVBQWtCO1FBRWxCLE1BQU0sUUFBUSxHQUF1QjtZQUNuQyxLQUFLLEVBQUUsS0FBSztZQUNaLFVBQVUsRUFBRSxVQUFVO1NBQ3ZCLENBQUM7UUFFRiwrQkFBK0I7UUFDL0IscUdBQXFHO1FBQ3JHLElBQUksT0FBTyxJQUFJLE9BQU8sT0FBTyxLQUFLLFVBQVUsRUFBRTtZQUM1QyxRQUFRLENBQUMsT0FBTyxHQUFHLE9BQU8sRUFBRSxDQUFDO1NBQzlCO2FBQU07WUFDTCxRQUFRLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztTQUM1QjtRQUVELFFBQVEsQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRW5ELE9BQU8sUUFBUSxDQUFDO0lBQ2xCLENBQUM7OzJKQTNDVSx3QkFBd0I7K0pBQXhCLHdCQUF3QjsyRkFBeEIsd0JBQXdCO2tCQURwQyxVQUFVOzswQkFJTixRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGF0ZVBpcGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBJbmplY3RhYmxlLCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBOZ3hMb2dnZXJMZXZlbCB9IGZyb20gJy4uL3R5cGVzL2xvZ2dlci1sZXZlbC5lbnVtJztcclxuaW1wb3J0IHsgSU5HWExvZ2dlckNvbmZpZyB9IGZyb20gJy4uL2NvbmZpZy9pY29uZmlnJztcclxuaW1wb3J0IHsgSU5HWExvZ2dlck1ldGFkYXRhIH0gZnJvbSAnLi9pbWV0YWRhdGEnO1xyXG5pbXBvcnQgeyBJTkdYTG9nZ2VyTWV0YWRhdGFTZXJ2aWNlIH0gZnJvbSAnLi9pbWV0YWRhdGEuc2VydmljZSc7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBOR1hMb2dnZXJNZXRhZGF0YVNlcnZpY2UgaW1wbGVtZW50cyBJTkdYTG9nZ2VyTWV0YWRhdGFTZXJ2aWNlIHtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBAT3B0aW9uYWwoKSBwcm90ZWN0ZWQgcmVhZG9ubHkgZGF0ZVBpcGU6IERhdGVQaXBlLFxyXG4gICkgeyB9XHJcblxyXG4gIHByb3RlY3RlZCBjb21wdXRlVGltZXN0YW1wKGNvbmZpZzogSU5HWExvZ2dlckNvbmZpZyk6IHN0cmluZyB7XHJcbiAgICBjb25zdCBkZWZhdWx0VGltZXN0YW1wID0gKCkgPT4gbmV3IERhdGUoKS50b0lTT1N0cmluZygpO1xyXG5cclxuICAgIGlmIChjb25maWcudGltZXN0YW1wRm9ybWF0KSB7XHJcbiAgICAgIGlmICghdGhpcy5kYXRlUGlwZSkge1xyXG4gICAgICAgIGNvbnNvbGUuZXJyb3IoJ05HWExvZ2dlciA6IENhblxcJ3QgdXNlIHRpbWVTdGFtcEZvcm1hdCBiZWNhdXNlIERhdGVQaXBlIGlzIG5vdCBwcm92aWRlZC4gWW91IG5lZWQgdG8gcHJvdmlkZSBEYXRlUGlwZScpO1xyXG4gICAgICAgIHJldHVybiBkZWZhdWx0VGltZXN0YW1wKCk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZGF0ZVBpcGUudHJhbnNmb3JtKG5ldyBEYXRlKCksIGNvbmZpZy50aW1lc3RhbXBGb3JtYXQpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGRlZmF1bHRUaW1lc3RhbXAoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRNZXRhZGF0YShcclxuICAgIGxldmVsOiBOZ3hMb2dnZXJMZXZlbCxcclxuICAgIGNvbmZpZzogSU5HWExvZ2dlckNvbmZpZyxcclxuICAgIG1lc3NhZ2U/OiBhbnkgfCAoKCkgPT4gYW55KSxcclxuICAgIGFkZGl0aW9uYWw/OiBhbnlbXSxcclxuICApOiBJTkdYTG9nZ2VyTWV0YWRhdGEge1xyXG4gICAgY29uc3QgbWV0YWRhdGE6IElOR1hMb2dnZXJNZXRhZGF0YSA9IHtcclxuICAgICAgbGV2ZWw6IGxldmVsLFxyXG4gICAgICBhZGRpdGlvbmFsOiBhZGRpdGlvbmFsLFxyXG4gICAgfTtcclxuXHJcbiAgICAvLyBUaGUgdXNlciBjYW4gc2VuZCBhIGZ1bmN0aW9uXHJcbiAgICAvLyBUaGlzIGlzIHVzZWZ1bCBpbiBvcmRlciB0byBjb21wdXRlIHN0cmluZyBjb25jYXRlbmF0aW9uIG9ubHkgd2hlbiB0aGUgbG9nIHdpbGwgYWN0dWFsbHkgYmUgd3JpdHRlblxyXG4gICAgaWYgKG1lc3NhZ2UgJiYgdHlwZW9mIG1lc3NhZ2UgPT09ICdmdW5jdGlvbicpIHtcclxuICAgICAgbWV0YWRhdGEubWVzc2FnZSA9IG1lc3NhZ2UoKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIG1ldGFkYXRhLm1lc3NhZ2UgPSBtZXNzYWdlO1xyXG4gICAgfVxyXG5cclxuICAgIG1ldGFkYXRhLnRpbWVzdGFtcCA9IHRoaXMuY29tcHV0ZVRpbWVzdGFtcChjb25maWcpO1xyXG5cclxuICAgIHJldHVybiBtZXRhZGF0YTtcclxuICB9XHJcbn1cclxuIl19