UNPKG

@lsk4/log

Version:

Yet another logger whitch combines the best features of debug, bunyan, logfmt/logrus, morgan/winston

63 lines (60 loc) 1.68 kB
import { Color } from '@lsk4/colors'; type LoggerLevelType = 'fatal' | 'error' | 'warn' | 'debug' | 'info' | 'trace' | 'log'; interface ILoggerProps { prefix?: string; ns?: string; name?: string; level?: LoggerLevelType; format?: string; on?: Array<RegExp>; off?: Array<RegExp>; } interface ILoggerMessage { code?: any; name?: string | null; ns?: string | null; level?: string | number; time?: string | number | Date; msg?: string | null; data?: any; } interface ILogger extends ILoggerProps { trace(...args: any[]): void; info(...args: any[]): void; debug(...args: any[]): void; warn(...args: any[]): void; error(...args: any[]): void; fatal(...args: any[]): void; log(...args: any[]): void; createChild(...propsArray: ILoggerProps[]): ILogger; } type ILoggerMeta = { ns?: string; name?: string; level?: LoggerLevelType; time?: Date; method?: string; host?: string; reqId?: string | number; ua?: string; ip?: string; url?: string; status?: string; duration?: number; length?: number; }; declare enum ILoggerInternalMessageFormat { bunyan = "bunyan", lsklog = "lsklog", lsklogweb = "lsklogweb", logrus = "logrus", raw = "raw" } type ILoggerInternalMessage = { format: ILoggerInternalMessageFormat | null; meta: ILoggerMeta; args: any[]; }; type ThemeKey = LoggerLevelType; type Theme = Record<ThemeKey, Color[]>; export { type ILogger, type ILoggerInternalMessage, ILoggerInternalMessageFormat, type ILoggerMessage, type ILoggerMeta, type ILoggerProps, type LoggerLevelType, type Theme, type ThemeKey };