UNPKG

@ngworker/lumberjack

Version:

Lumberjack is a versatile Angular logging library, specifically designed to be extended and customized

41 lines (40 loc) 1.75 kB
import { LumberjackLogLevel } from '../logs/lumberjack-log-level'; import { LumberjackLogPayload } from '../logs/lumberjack-log-payload'; import { LumberjackLog } from '../logs/lumberjack.log'; import { LumberjackTimeService } from '../time/lumberjack-time.service'; /** * The generic parameter of `LumberjackLogBuilder` is evaluated to this type * when the `LumberjackLogBuilder#withPayload` method is used. */ type InternalWithStaticPayload = '__LUMBERJACK_INTERNAL_WITH_STATIC_PAYLOAD__' & LumberjackLogPayload; /** * Builder for a log with the specified log level and message. * * Use this to create a log before passing it to `LumberjackService`. */ export declare class LumberjackLogBuilder<TPayload extends LumberjackLogPayload | void = void> { #private; /** * Create a log builder with the specified log level and message. * * @param time Pass the `LumberjackTimeService`. Used for timestamping the log. * @param level The log level. * @param message The log message. */ constructor(time: LumberjackTimeService, level: LumberjackLogLevel, message: string); /** * Create a log with the specified properties and timestamp it. * * @param payloadArg Optional dynamic payload. */ build(...payloadArg: Extract<TPayload, InternalWithStaticPayload> extends never ? [TPayload] : [never?]): LumberjackLog<Exclude<TPayload, InternalWithStaticPayload>>; /** * Optionally add a static payload to the log. */ withPayload(...payloadArg: TPayload extends void ? [never?] : [TPayload]): LumberjackLogBuilder<InternalWithStaticPayload | TPayload>; /** * Add a scope to the log. */ withScope(scope: string): LumberjackLogBuilder<TPayload>; } export {};