UNPKG

strogger

Version:

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

114 lines • 6.26 kB
import type { Formatter, LogContext, LoggerConfig, Transport } from "./types"; import { LogLevel } from "./types"; import type { LoggerEnvironment } from "./utils/environment"; export declare const createLogger: ({ config, transports, formatter: _formatter, env, }: { config?: LoggerConfig; transports?: Transport[]; formatter: Formatter; env: LoggerEnvironment; }) => { debug: (message: string, context?: LogContext, metadata?: Record<string, unknown>) => Promise<void>; info: (message: string, context?: LogContext, metadata?: Record<string, unknown>) => Promise<void>; warn: (message: string, context?: LogContext, error?: Error, metadata?: Record<string, unknown>) => Promise<void>; error: (message: string, context?: LogContext, error?: Error, metadata?: Record<string, unknown>) => Promise<void>; fatal: (message: string, context?: LogContext, error?: Error, metadata?: Record<string, unknown>) => Promise<void>; logFunctionStart: (functionName: string, context?: LogContext, metadata?: Record<string, unknown>) => Promise<void>; logFunctionEnd: (functionName: string, duration: number, context?: LogContext, metadata?: Record<string, unknown>) => Promise<void>; logDatabaseOperation: (operation: string, table: string, context?: LogContext, metadata?: Record<string, unknown>) => Promise<void>; logApiRequest: (method: string, path: string, statusCode: number, context?: LogContext, metadata?: Record<string, unknown>) => Promise<void>; setLevel: (level: LogLevel) => void; getLevel: () => LogLevel; getInstanceId: () => string; addTransport: (transport: Transport) => number; removeTransport: (transport: Transport) => void; setFormatter: (_newFormatter: 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>[]; }; export declare const strogger: { debug: (message: string, context?: LogContext, metadata?: Record<string, unknown>) => Promise<void>; info: (message: string, context?: LogContext, metadata?: Record<string, unknown>) => Promise<void>; warn: (message: string, context?: LogContext, error?: Error, metadata?: Record<string, unknown>) => Promise<void>; error: (message: string, context?: LogContext, error?: Error, metadata?: Record<string, unknown>) => Promise<void>; fatal: (message: string, context?: LogContext, error?: Error, metadata?: Record<string, unknown>) => Promise<void>; logFunctionStart: (functionName: string, context?: LogContext, metadata?: Record<string, unknown>) => Promise<void>; logFunctionEnd: (functionName: string, duration: number, context?: LogContext, metadata?: Record<string, unknown>) => Promise<void>; logDatabaseOperation: (operation: string, table: string, context?: LogContext, metadata?: Record<string, unknown>) => Promise<void>; logApiRequest: (method: string, path: string, statusCode: number, context?: LogContext, metadata?: Record<string, unknown>) => Promise<void>; setLevel: (level: LogLevel) => void; getLevel: () => LogLevel; getInstanceId: () => string; addTransport: (transport: Transport) => number; removeTransport: (transport: Transport) => void; setFormatter: (_newFormatter: 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>[]; }; export declare const createStrogger: ({ config, transports, formatter: _formatter, env, }: { config?: LoggerConfig; transports?: Transport[]; formatter: Formatter; env: LoggerEnvironment; }) => { debug: (message: string, context?: LogContext, metadata?: Record<string, unknown>) => Promise<void>; info: (message: string, context?: LogContext, metadata?: Record<string, unknown>) => Promise<void>; warn: (message: string, context?: LogContext, error?: Error, metadata?: Record<string, unknown>) => Promise<void>; error: (message: string, context?: LogContext, error?: Error, metadata?: Record<string, unknown>) => Promise<void>; fatal: (message: string, context?: LogContext, error?: Error, metadata?: Record<string, unknown>) => Promise<void>; logFunctionStart: (functionName: string, context?: LogContext, metadata?: Record<string, unknown>) => Promise<void>; logFunctionEnd: (functionName: string, duration: number, context?: LogContext, metadata?: Record<string, unknown>) => Promise<void>; logDatabaseOperation: (operation: string, table: string, context?: LogContext, metadata?: Record<string, unknown>) => Promise<void>; logApiRequest: (method: string, path: string, statusCode: number, context?: LogContext, metadata?: Record<string, unknown>) => Promise<void>; setLevel: (level: LogLevel) => void; getLevel: () => LogLevel; getInstanceId: () => string; addTransport: (transport: Transport) => number; removeTransport: (transport: Transport) => void; setFormatter: (_newFormatter: 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>[]; }; export declare const printLoggerConfig: (env: LoggerEnvironment) => void; //# sourceMappingURL=logger.d.ts.map