///
///
import * as Transport from 'winston-transport';
import { Writable } from 'stream';
import { AgentConfig } from './config-process/config';
import { Logger } from './contracts';
interface IBufferingLoggerConfig {
bufferLength?: number;
}
export declare enum LogLevels {
LIFECYCLE = "lifecycle",
ERROR = "error",
WARN = "warn",
INFO = "info",
HTTP = "http",
VERBOSE = "verbose",
DEBUG = "debug",
SILLY = "silly",
OFF = "off"
}
export declare class LoggerFactory {
private static bufferingLogger;
private static logger;
private static subprocessLogger;
private constructor();
static getCreateBufferingLogger(): BufferingLogger;
static getCreateApplicationLogger(cfg?: AgentConfig): Logger;
static getCreateDebugFileLogger(filename: string): Logger;
static getCreateSubprocessLogger(subprocess: NodeJS.Process): Logger;
static reset(): void;
private static createLogger;
}
export declare class BufferingLogger extends Writable {
private config;
private buffer;
private bufferLength;
constructor(config: IBufferingLoggerConfig);
write(data: any): boolean;
processBuffer(): boolean;
private acceptLogs;
stop(): void;
checkBuffer(inShutdown: boolean): boolean;
}
export declare class IpcTransport extends Transport {
private subprocess;
constructor(subprocess: NodeJS.Process, options?: Transport.TransportStreamOptions);
log(info: any, callback: any): void;
}
export {};