@wnqueiroz/ecs-winston
Version:
A formatter for the winston logger compatible with Elastic Common Schema (ECS) 🚀
44 lines (43 loc) • 1.6 kB
TypeScript
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 {};