@genie-solutions/genie-logger
Version:
Reusable Node.js logger for platform Lambda services.
23 lines (22 loc) • 939 B
TypeScript
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 {};