winston-papertrail-transport
Version:
A Papertrail transport for Winston 3
54 lines (53 loc) • 1.72 kB
TypeScript
/// <reference types="node" />
import Transport from 'winston-transport';
import { EventEmitter } from 'events';
/**
* Heavily inspired by
* https://github.com/winstonjs/winston-syslog/blob/master/lib/winston-syslog.js
* https://github.com/kenperkins/winston-papertrail/blob/v2/test/papertrail-test.js
* */
export interface PapertrailTransportOptions extends Transport.TransportStreamOptions {
host: string;
port: number;
disableTls?: boolean;
hostname?: string;
program?: string;
facility?: string;
levels?: any;
flushOnClose?: boolean;
attemptsBeforeDecay?: number;
maximumAttempts?: number;
connectionDelay?: number;
maxDelayBetweenReconnection?: number;
}
export declare class PapertrailTransport extends Transport {
private options;
connection: PapertrailConnection;
private producer;
get name(): string;
constructor(options: PapertrailTransportOptions);
log(info: any, callback: any): void;
sendMessage(level: any, message: string, callback: any): void;
close(): void;
}
export declare class PapertrailConnection extends EventEmitter {
private options;
private connectionDelay;
private currentRetries;
private totalRetries;
private loggingEnabled;
private _shutdown;
private _erroring;
private deferredQueue;
private stream?;
private socket?;
constructor(options: PapertrailTransportOptions);
connect(): void;
write(text: string, callback: any): void;
processBuffer(): void;
onConnected(): void;
onErrored(err: any): void;
emitSilentError(err: Error): void;
closeSockets(): void;
close(): void;
}