@ngworker/lumberjack
Version:
Lumberjack is a versatile Angular logging library, specifically designed to be extended and customized
40 lines • 4.81 kB
JavaScript
export class LumberjackLoggerBuilder {
#scope;
#payload;
#lumberjack;
#time;
#level;
#message;
constructor(lumberjack, time, level, message) {
this.#lumberjack = lumberjack;
this.#time = time;
this.#level = level;
this.#message = message;
}
build() {
return (...payloadArg) => {
this.#lumberjack.log({
level: this.#level,
message: this.#message,
scope: this.#scope,
createdAt: this.#time.getUnixEpochTicks(),
payload: payloadArg[0] ?? this.#payload,
});
};
}
/**
* Add a scope to the `LumberjackLog`
*/
withScope(scope) {
this.#scope = scope;
return this;
}
/**
* Add payload with custom data to the `LumberjackLog`
*/
withPayload(...payloadArg) {
this.#payload = payloadArg[0];
return this;
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibHVtYmVyamFjay1sb2dnZXIuYnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL25nd29ya2VyL2x1bWJlcmphY2svc3JjL2xpYi9sb2dnaW5nL2x1bWJlcmphY2stbG9nZ2VyLmJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBTUEsTUFBTSxPQUFPLHVCQUF1QjtJQUNsQyxNQUFNLENBQVU7SUFDaEIsUUFBUSxDQUFZO0lBQ1gsV0FBVyxDQUE4QjtJQUN6QyxLQUFLLENBQXdCO0lBQzdCLE1BQU0sQ0FBcUI7SUFDM0IsUUFBUSxDQUFTO0lBRTFCLFlBQ0UsVUFBdUMsRUFDdkMsSUFBMkIsRUFDM0IsS0FBeUIsRUFDekIsT0FBZTtRQUVmLElBQUksQ0FBQyxXQUFXLEdBQUcsVUFBVSxDQUFDO1FBQzlCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1FBQ2xCLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1FBQ3BCLElBQUksQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDO0lBQzFCLENBQUM7SUFFRCxLQUFLO1FBQ0gsT0FBTyxDQUFDLEdBQUcsVUFBeUQsRUFBRSxFQUFFO1lBQ3RFLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDO2dCQUNuQixLQUFLLEVBQUUsSUFBSSxDQUFDLE1BQU07Z0JBQ2xCLE9BQU8sRUFBRSxJQUFJLENBQUMsUUFBUTtnQkFDdEIsS0FBSyxFQUFFLElBQUksQ0FBQyxNQUFNO2dCQUNsQixTQUFTLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsRUFBRTtnQkFDekMsT0FBTyxFQUFHLFVBQVUsQ0FBQyxDQUFDLENBQWMsSUFBSSxJQUFJLENBQUMsUUFBUTthQUN0RCxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUM7SUFDSixDQUFDO0lBRUQ7O09BRUc7SUFDSCxTQUFTLENBQUMsS0FBYTtRQUNyQixJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztRQUVwQixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRDs7T0FFRztJQUNILFdBQVcsQ0FBQyxHQUFHLFVBQXlEO1FBQ3RFLElBQUksQ0FBQyxRQUFRLEdBQUcsVUFBVSxDQUFDLENBQUMsQ0FBYSxDQUFDO1FBRTFDLE9BQU8sSUFBMEMsQ0FBQztJQUNwRCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMdW1iZXJqYWNrTG9nTGV2ZWwgfSBmcm9tICcuLi9sb2dzL2x1bWJlcmphY2stbG9nLWxldmVsJztcbmltcG9ydCB7IEx1bWJlcmphY2tMb2dQYXlsb2FkIH0gZnJvbSAnLi4vbG9ncy9sdW1iZXJqYWNrLWxvZy1wYXlsb2FkJztcbmltcG9ydCB7IEx1bWJlcmphY2tUaW1lU2VydmljZSB9IGZyb20gJy4uL3RpbWUvbHVtYmVyamFjay10aW1lLnNlcnZpY2UnO1xuXG5pbXBvcnQgeyBMdW1iZXJqYWNrU2VydmljZSB9IGZyb20gJy4vbHVtYmVyamFjay5zZXJ2aWNlJztcblxuZXhwb3J0IGNsYXNzIEx1bWJlcmphY2tMb2dnZXJCdWlsZGVyPFRQYXlsb2FkIGV4dGVuZHMgTHVtYmVyamFja0xvZ1BheWxvYWQgfCB2b2lkID0gdm9pZD4ge1xuICAjc2NvcGU/OiBzdHJpbmc7XG4gICNwYXlsb2FkPzogVFBheWxvYWQ7XG4gIHJlYWRvbmx5ICNsdW1iZXJqYWNrOiBMdW1iZXJqYWNrU2VydmljZTxUUGF5bG9hZD47XG4gIHJlYWRvbmx5ICN0aW1lOiBMdW1iZXJqYWNrVGltZVNlcnZpY2U7XG4gIHJlYWRvbmx5ICNsZXZlbDogTHVtYmVyamFja0xvZ0xldmVsO1xuICByZWFkb25seSAjbWVzc2FnZTogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIGx1bWJlcmphY2s6IEx1bWJlcmphY2tTZXJ2aWNlPFRQYXlsb2FkPixcbiAgICB0aW1lOiBMdW1iZXJqYWNrVGltZVNlcnZpY2UsXG4gICAgbGV2ZWw6IEx1bWJlcmphY2tMb2dMZXZlbCxcbiAgICBtZXNzYWdlOiBzdHJpbmdcbiAgKSB7XG4gICAgdGhpcy4jbHVtYmVyamFjayA9IGx1bWJlcmphY2s7XG4gICAgdGhpcy4jdGltZSA9IHRpbWU7XG4gICAgdGhpcy4jbGV2ZWwgPSBsZXZlbDtcbiAgICB0aGlzLiNtZXNzYWdlID0gbWVzc2FnZTtcbiAgfVxuXG4gIGJ1aWxkKCk6ICguLi5wYXlsb2FkQXJnOiBUUGF5bG9hZCBleHRlbmRzIHZvaWQgPyBbbmV2ZXI/XSA6IFtUUGF5bG9hZF0pID0+IHZvaWQge1xuICAgIHJldHVybiAoLi4ucGF5bG9hZEFyZzogVFBheWxvYWQgZXh0ZW5kcyB2b2lkID8gW25ldmVyP10gOiBbVFBheWxvYWRdKSA9PiB7XG4gICAgICB0aGlzLiNsdW1iZXJqYWNrLmxvZyh7XG4gICAgICAgIGxldmVsOiB0aGlzLiNsZXZlbCxcbiAgICAgICAgbWVzc2FnZTogdGhpcy4jbWVzc2FnZSxcbiAgICAgICAgc2NvcGU6IHRoaXMuI3Njb3BlLFxuICAgICAgICBjcmVhdGVkQXQ6IHRoaXMuI3RpbWUuZ2V0VW5peEVwb2NoVGlja3MoKSxcbiAgICAgICAgcGF5bG9hZDogKHBheWxvYWRBcmdbMF0gYXMgVFBheWxvYWQpID8/IHRoaXMuI3BheWxvYWQsXG4gICAgICB9KTtcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZCBhIHNjb3BlIHRvIHRoZSBgTHVtYmVyamFja0xvZ2BcbiAgICovXG4gIHdpdGhTY29wZShzY29wZTogc3RyaW5nKTogTHVtYmVyamFja0xvZ2dlckJ1aWxkZXI8VFBheWxvYWQ+IHtcbiAgICB0aGlzLiNzY29wZSA9IHNjb3BlO1xuXG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogQWRkIHBheWxvYWQgd2l0aCBjdXN0b20gZGF0YSB0byB0aGUgYEx1bWJlcmphY2tMb2dgXG4gICAqL1xuICB3aXRoUGF5bG9hZCguLi5wYXlsb2FkQXJnOiBUUGF5bG9hZCBleHRlbmRzIHZvaWQgPyBbbmV2ZXI/XSA6IFtUUGF5bG9hZF0pOiBMdW1iZXJqYWNrTG9nZ2VyQnVpbGRlciB7XG4gICAgdGhpcy4jcGF5bG9hZCA9IHBheWxvYWRBcmdbMF0gYXMgVFBheWxvYWQ7XG5cbiAgICByZXR1cm4gdGhpcyBhcyB1bmtub3duIGFzIEx1bWJlcmphY2tMb2dnZXJCdWlsZGVyO1xuICB9XG59XG4iXX0=