UNPKG

logixlysia

Version:

🦊 Logixlysia is a logger for Elysia

29 lines (28 loc) • 1.39 kB
import { Logger as PinoLogger } from "pino"; type Pino = PinoLogger<never, boolean>; type RequestInfo = Request; type LogLevel = "DEBUG" | "INFO" | "WARNING" | "ERROR"; interface StoreData { beforeTime: bigint; } interface Logger { debug: (request: RequestInfo, message: string, context?: Record<string, unknown>) => void; error: (request: RequestInfo, message: string, context?: Record<string, unknown>) => void; getContext: (key: RequestInfo | object) => Readonly<Record<string, unknown>>; handleHttpError: (request: RequestInfo, error: unknown, store: StoreData) => void; info: (request: RequestInfo, message: string, context?: Record<string, unknown>) => void; log: (level: LogLevel, request: RequestInfo, data: Record<string, unknown>, store: StoreData) => void; mergeContext: (key: RequestInfo | object, partial: Record<string, unknown>) => void; pino: Pino; warn: (request: RequestInfo, message: string, context?: Record<string, unknown>) => void; } interface TraceContextFields { span_id?: string; trace_id?: string; } /** * Injects active OpenTelemetry span IDs into the request context bag when * `@opentelemetry/api` is installed and a span is active. */ declare const injectTraceContext: (logger: Pick<Logger, "mergeContext">, request: Request) => TraceContextFields | undefined; export { injectTraceContext, injectTraceContext as default, TraceContextFields };