/// import { EventEmitter } from "events"; export type GraylogDeflate = "optimal" | "always" | "never"; export type GraylogLogMethod = | "log" | "emergency" | "alert" | "critical" | "error" | "warning" | "warn" | "notice" | "info" | "debug"; export interface GraylogConfig { /** * The name of a host. * The default value is "os.hostname()" */ hostname?: string | undefined; /** * The facility - log's field type in Graylog. * The default value is "Node.js" */ facility?: string | undefined; /** * The strategy for a message compression: * "always" - every message will be compressed with zlib.deflate * "never" - no compression * "optimal" - messages bigger than GraylogConfig.bufferSize will be compressed * * The default value is "optimal" */ deflate?: GraylogDeflate | undefined; /** * The max UDP packet size. Should never exceed the MTU of your system. * The default value is 1400 */ bufferSize?: number | undefined; /** * The list of graylog servers */ servers: ReadonlyArray>; } export class graylog extends EventEmitter { constructor(config: Readonly); log(message: string | Error | Record): void; log(message: string, fullMessage: string, additionalFields?: Record, timestamp?: number): void; log(message: string | Error, additionalFields?: Record, _?: undefined, timestamp?: number): void; log( message: string | Error | Record, _: undefined, additionalFields: Record | undefined, timestamp?: number, ): void; emergency: graylog["log"]; alert: graylog["log"]; critical: graylog["log"]; error: graylog["log"]; warning: graylog["log"]; warn: graylog["log"]; notice: graylog["log"]; info: graylog["log"]; debug: graylog["log"]; close(callback?: (err: Error | undefined) => void): void; } export namespace graylog { const graylog: graylog; }