UNPKG

bunyamin

Version:

Bunyan-based logger for Node.js supporting Trace Event format

28 lines (24 loc) 831 B
import type { BunyaminConfig, BunyanLikeLogger } from './decorator'; import { Bunyamin } from './decorator'; export * from './decorator/types'; export type { Bunyamin } from './decorator'; export function wrapLogger<Logger extends BunyanLikeLogger>( options: BunyaminConfig<Logger>, ): Bunyamin<Logger>; export function wrapLogger<Logger extends BunyanLikeLogger>( logger: Logger, options?: Omit<BunyaminConfig<Logger>, 'logger'>, ): Bunyamin<Logger>; export function wrapLogger<Logger extends BunyanLikeLogger>( maybeLogger: any, maybeConfig?: unknown, ): Bunyamin<Logger> { const logger = (maybeLogger.logger ?? maybeLogger) as Logger; const config = (logger === maybeLogger ? maybeConfig : maybeLogger) as | BunyaminConfig<Logger> | undefined; return new Bunyamin({ ...config, logger, }); }