UNPKG

@wnqueiroz/ecs-winston

Version:

A formatter for the winston logger compatible with Elastic Common Schema (ECS) 🚀

44 lines (43 loc) • 1.6 kB
import { Request, Response } from 'express'; import qs from 'qs'; import * as winston from 'winston'; import { ECSWinston } from './interfaces/ecs-winston.interface'; import { ECS } from './interfaces/ecs.interface'; export declare const stringify: (doc: string | number | boolean | object | any[]) => string; declare type GetHttpRequestDataParams = { req: Request | undefined; res: Response | undefined; requestId: string | null; }; declare type GetMetadataParams = { config: ECSWinston.Config | undefined; message: ECSWinston.Log.Metadata; rest: ECSWinston.Log.Metadata; }; declare type GetECSLogParsedParams = { config: ECSWinston.Config; level: string; message: string | ECSWinston.Log.Metadata; timestamp: string; rest: any; }; export declare function getHttpRequestData({ req, res, requestId, }: GetHttpRequestDataParams): { http: ECS.Http; user_agent: ECS.Useragent; url: ECS.Url; }; export declare function getMetadata({ rest, config, message }: GetMetadataParams): { req: Request<import("express-serve-static-core").ParamsDictionary, any, any, qs.ParsedQs, Record<string, any>>; res: Response<any, Record<string, any>>; ecs: ECS.Fields; error: any; exclude: string[]; }; export declare function getErrorData(error: any): { type: string; message: string; stack_trace: string; }; export declare function getECSLogParsed({ config, level, message, timestamp, rest, }: GetECSLogParsedParams): string; export declare const ecsWinstonFormat: (config?: ECSWinston.Config) => winston.Logform.Format; export {};