UNPKG

@genie-solutions/genie-logger

Version:

Reusable Node.js logger for platform Lambda services.

23 lines (22 loc) 939 B
import Transport from "winston-transport"; declare type LogFunction<T> = (event: T) => void; export interface Logger<T> { debug: LogFunction<T>; info: LogFunction<T>; warn: LogFunction<T>; error: LogFunction<T>; profile: LogFunction<string>; extend: (extraMeta: object) => Logger<T>; } export interface HasLogger<T> { logger: Logger<T>; } export interface LoggerMetaData { application: string; environment: string; correlationRequestId?: string; } export declare const createNoopLogger: <T>() => Logger<T>; export declare const createDefaultLogger: <T extends object>(meta: LoggerMetaData, level?: string, transport?: Transport) => Logger<T>; export declare const createLoggerFromContext: <T extends object>(application: string, environment: string, level: string, creator?: (meta: LoggerMetaData, level: string) => Logger<T>) => (correlationRequestId?: string | undefined) => Logger<T>; export {};