UNPKG

strogger

Version:

📊 A modern structured logging library with functional programming, duck-typing, and comprehensive third-party integrations

67 lines • 3.11 kB
import { LogLevel } from "../index"; import type { LogEntry } from "../types"; export interface CloudWatchTransportOptions { level?: LogLevel; logGroupName?: string; logStreamName?: string; region?: string; maxStreamSize?: number; maxStreamAge?: number; batchSize?: number; flushInterval?: number; } export interface CloudWatchTransportState { currentStreamName: string; currentStreamSize: number; streamStartTime: number; sequenceToken: string | undefined; batch: LogEntry[]; flushTimer?: ReturnType<typeof setInterval>; } export declare const createCloudWatchTransportExample: (options?: { level?: LogLevel; maxStreamSize?: number; maxStreamAge?: number; }) => { log: (entry: { level: number; timestamp: string; message: string; }) => Promise<void>; setLevel: (level: LogLevel) => void; getLevel: () => LogLevel; }; export declare const loggerWithCloudWatchTransport: { debug: (message: string, context?: import("../types").LogContext, metadata?: Record<string, unknown>) => Promise<void>; info: (message: string, context?: import("../types").LogContext, metadata?: Record<string, unknown>) => Promise<void>; warn: (message: string, context?: import("../types").LogContext, error?: Error, metadata?: Record<string, unknown>) => Promise<void>; error: (message: string, context?: import("../types").LogContext, error?: Error, metadata?: Record<string, unknown>) => Promise<void>; fatal: (message: string, context?: import("../types").LogContext, error?: Error, metadata?: Record<string, unknown>) => Promise<void>; logFunctionStart: (functionName: string, context?: import("../types").LogContext, metadata?: Record<string, unknown>) => Promise<void>; logFunctionEnd: (functionName: string, duration: number, context?: import("../types").LogContext, metadata?: Record<string, unknown>) => Promise<void>; logDatabaseOperation: (operation: string, table: string, context?: import("../types").LogContext, metadata?: Record<string, unknown>) => Promise<void>; logApiRequest: (method: string, path: string, statusCode: number, context?: import("../types").LogContext, metadata?: Record<string, unknown>) => Promise<void>; setLevel: (level: LogLevel) => void; getLevel: () => LogLevel; getInstanceId: () => string; addTransport: (transport: import("../types").Transport) => number; removeTransport: (transport: import("../types").Transport) => void; setFormatter: (_newFormatter: import("../types").Formatter) => void; getSamplingStats: () => { rateLimit: { tokens: number; lastRefill: number; maxTokens: number; refillRate: number; } | undefined; sampling: { totalLogs: number; sampledLogs: number; samplingRate: number; configuredRate: number; } | undefined; }; flush: () => Promise<void>; getBatchStats: () => Record<string, unknown>[]; }; //# sourceMappingURL=cloudwatch-transport-example.d.ts.map