UNPKG

@logdna/logger

Version:

LogDNA's Node.js Logging Module.

73 lines (65 loc) 1.98 kB
declare module "@logdna/logger" { import { EventEmitter } from 'events'; export enum LogLevel { trace = 'TRACE', debug = 'DEBUG', info = 'INFO', warn = 'WARN', error = 'ERROR', fatal = 'FATAL' } type CustomLevel = string interface ConstructorOptions { level?: LogLevel | CustomLevel; tags?: string | string[]; meta?: object; timeout?: number; hostname?: string; mac?: string; ip?: string; url?: string; flushLimit?: number; flushIntervalMs?: number; shimProperties?: string[]; indexMeta?: boolean; app?: string; env?: string; baseBackoffMs?: number; maxBackoffMs?: number; withCredentials?: boolean; sendUserAgent?: boolean; levels?: CustomLevel[]; maxAttempts?: number; verboseEvents?: boolean; ignoreRetryableErrors?: boolean; } interface LogOptions { level?: LogLevel | CustomLevel; app?: string; env?: string; timestamp?: number; context?: object; indexMeta?: boolean; meta?: object; } export interface Logger extends EventEmitter { info?(statement: string | object, options?: Omit<LogOptions, 'level'>): void; warn?(statement: string | object, options?: Omit<LogOptions, 'level'>): void; debug?(statement: string | object, options?: Omit<LogOptions, 'level'>): void; error?(statement: string | object, options?: Omit<LogOptions, 'level'>): void; fatal?(statement: string | object, options?: Omit<LogOptions, 'level'>): void; trace?(statement: string | object, options?: Omit<LogOptions, 'level'>): void; log(statement: string | object, options?: LogOptions): void; addMetaProperty(key: string, value: any): void; removeMetaProperty(key: string): void; flush(): void; } export function createLogger( key: string, options?: ConstructorOptions ): Logger; export function setupDefaultLogger( key: string, options?: ConstructorOptions ): Logger; }