winston-seq2
Version:
A Seq transport for Winston
50 lines (49 loc) • 1.63 kB
TypeScript
/// <reference types="winston" />
/** Imports */
import { TransportInstance, Transport } from 'winston';
import { ISeqLevels } from './seq-logging';
/** Interfaces */
export declare type IWinstonLogMeta = any;
export declare type IWinstonLogCallback = (err?: any, res?: any) => void;
export interface ISeqOption {
serverUrl?: string;
apiKey?: string;
maxBatchingTime?: number;
eventSizeLimit?: number;
batchSizeLimit?: number;
levelMapper?(level: string): ISeqLevels;
}
export interface ISeqTransportInstance extends TransportInstance {
new (options?: ISeqOption): ISeqTransportInstance;
}
declare module 'winston' {
interface Transports {
Seq: ISeqTransportInstance;
}
}
export declare class Seq extends Transport implements ISeqTransportInstance {
readonly name: string;
serverUrl?: string;
apiKey?: string;
maxBatchingTime?: number;
eventSizeLimit?: number;
batchSizeLimit?: number;
levelMapper: (level: string) => ISeqLevels;
private _seq;
constructor(options?: ISeqOption);
log(level: string, msg: string, meta: IWinstonLogMeta, callback: IWinstonLogCallback): void;
connect(): Promise<void>;
close(): Promise<boolean>;
flush(): Promise<boolean>;
private _isError(obj?);
private _isPrimitive(obj);
private _levelMapper(level?);
private _formatMeta(meta);
private _getErrorStach(err, id);
private _formatProperty(prop, errors);
private _formatError(err, id);
private _formatDate(date);
private _formatFunction(fn);
private _formatArray(arr, errors);
private _formatBuffer(buffer);
}