Files
fn_registry/functions/infra/logger.go
T
egutierrez 1860cf2bc6 feat: tipos Logger, LogLevel y LogEntry para structured logging (infra)
Tipos base para las funciones de structured logging sobre log/slog:
- LogLevel: suma enum Debug/Info/Warn/Error
- Logger: wrapper producto con nivel, output, formato y fields contextuales
- LogEntry: modelo canonico JSON para tests y pipelines de logs

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-18 17:14:19 +02:00

17 lines
532 B
Go

package infra
import (
"io"
"log/slog"
)
// Logger wrappea slog.Logger con config del registry (nivel, output, formato, campos contextuales).
// Se crea con LoggerNew y se clona inmutablemente con LoggerWith anadiendo campos.
type Logger struct {
Level LogLevel // nivel minimo filtrado
Output io.Writer // destino de los logs (stdout, stderr, file, buffer)
Format string // "json" | "text"
Fields map[string]any // campos contextuales adjuntos al logger
inner *slog.Logger // handler real de slog
}