/** * Logger Adapter * * Uses @plyaz/logger for observability output. * Can be used standalone OR alongside other adapters (Datadog, Grafana) * to always have console/file logging regardless of external providers. * * @example Standalone usage * ```typescript * const logger = new LoggerAdapter(); * await logger.initialize({ serviceName: 'my-service' }); * ``` * * @example As console fallback with Datadog * ```typescript * const observability = new ObservabilityService({ * mode: 'parallel', * adapters: [datadogAdapter, loggerAdapter], // Both receive all events * }); * ``` * * @module base/observability */ import type { ObservabilityAdapterConfig, Metric, SpanOptions, Span, LogEntry, ObservabilityEvent } from '@plyaz/types/observability'; import { BaseAdapter } from './BaseAdapter'; /** * Logger adapter that uses @plyaz/logger for output. * * This adapter integrates observability with the existing logging infrastructure, * providing structured logging for metrics, spans, and events through PackageLogger. * * Use this adapter: * - As standalone for development/debugging * - Alongside Datadog/Grafana to always have local console output * - As a fallback in priority mode when external providers fail */ export declare class LoggerAdapter extends BaseAdapter { readonly provider: "console"; readonly name = "LoggerAdapter"; private observabilityLogger; private logMetrics; private logSpans; private logEvents; protected doInitialize(config: ObservabilityAdapterConfig): Promise; protected doShutdown(): Promise; protected doHealthCheck(): Promise; protected doRecordMetric(metric: Metric): Promise; protected doStartSpan(options: SpanOptions): Span; protected doGetActiveSpan(): Span | null; protected doLog(entry: LogEntry): Promise; protected doSendEvent(event: ObservabilityEvent): Promise; protected doFlush(): Promise; } //# sourceMappingURL=LoggerAdapter.d.ts.map