strogger
Version:
📊 A modern structured logging library with functional programming, duck-typing, and comprehensive third-party integrations
51 lines • 1.55 kB
TypeScript
import type { Formatter, LogEntry } from "../types";
import { LogLevel } from "../types";
export interface CloudWatchTransportOptions {
formatter?: Formatter;
level?: LogLevel;
logGroupName?: string;
logStreamName?: string;
region?: string;
maxStreamSize?: number;
maxStreamAge?: number;
batchSize?: number;
flushInterval?: number;
timeout?: number;
}
export interface CloudWatchTransportState {
currentStreamName: string;
currentStreamSize: number;
streamStartTime: number;
sequenceToken: string | undefined;
batch: LogEntry[];
flushTimer?: ReturnType<typeof setInterval>;
}
export declare const createCloudWatchTransport: (options?: CloudWatchTransportOptions) => {
log: (entry: LogEntry) => Promise<void>;
setLevel: (level: LogLevel) => void;
getLevel: () => LogLevel;
rotateStream: () => Promise<void>;
getCurrentStream: () => string;
getCurrentStreamSize: () => number;
flush: () => Promise<void>;
close: () => Promise<void>;
getConfig: () => {
logGroupName: string;
logStreamName: string;
region: string;
maxStreamSize: number;
maxStreamAge: number;
batchSize: number;
flushInterval: number;
timeout: number;
};
getStats: () => {
currentStream: string;
currentStreamSize: number;
streamAge: number;
batchSize: number;
sequenceToken: string;
flushTimerActive: boolean;
};
};
//# sourceMappingURL=cloudwatch-transport.d.ts.map