UNPKG

@rudderstack/integrations-lib

Version:
52 lines 1.74 kB
import { LoggableExtraData } from './types'; interface LeveledLogMethod { (message: string, extraData?: Partial<LoggableExtraData>): void; (infoObject: { message: string; } & Partial<LoggableExtraData>): void; } interface CustLogger { errorw: LeveledLogMethod; infow: LeveledLogMethod; debugw: LeveledLogMethod; warnw: LeveledLogMethod; } export type LogOpts = { level?: string; fillExcept?: string[]; levels?: Record<string, number>; }; /** * Structured logger powered by winston * We are trying to create structured logging methods. * Whenever someone would like to log something using structured logging, they can use these methods to do so. * Structured logger methods: * - debugw * - infow * - warnw * - errorw * Note: While using levels option, we need to make sure that lowest level(debug) has a value higher than higher level(warn) * * @example * const logger = structuredLogger(); * logger.setLogLevel('warn') * logger.warn('my warning', {...}) * @example * const logger = structuredLogger({level: 'info'}); * * @example * logger.infow("my error message", { destinationId: "destId", workspaceId: "wspId", destinationType: "dest_type" }) // preferred * logger.infow({ message: "my error message-2", destinationId: "destId", workspaceId: "wspId", destinationType: "dest_type" }) * * @example * const logger = structuredLogger({levels: {error:0,warn:1,info:2,debug:3}}) * * @param opts * @returns */ export declare const structuredLogger: (opts?: LogOpts) => import("winston").Logger & CustLogger & { setLogLevel: (level: string) => void; getLogLevel: (level: string) => string; }; export {}; //# sourceMappingURL=structured-logger.d.ts.map