Files
egutierrez 47fac22230 chore: auto-commit (799 archivos)
- .claude/CLAUDE.md
- .claude/commands/subagentes.md
- .claude/rules/INDEX.md
- .mcp.json
- bash/functions/cybersecurity/analyze_dns.md
- bash/functions/cybersecurity/audit_http_headers.md
- bash/functions/cybersecurity/audit_ssh_config.md
- bash/functions/cybersecurity/check_firewall.md
- bash/functions/cybersecurity/detect_suspicious_users.md
- bash/functions/cybersecurity/encrypt_file.md
- ...

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-14 00:28:20 +02:00

1.9 KiB

name, kind, lang, domain, version, purity, signature, description, tags, uses_functions, uses_types, returns, returns_optional, error_type, imports, params, output, tested, tests, test_file_path, file_path
name kind lang domain version purity signature description tags uses_functions uses_types returns returns_optional error_type imports params output tested tests test_file_path file_path
logger_new function go infra 1.0.0 impure func LoggerNew(level LogLevel, output io.Writer, format string) (*Logger, error) Crea un Logger estructurado sobre log/slog con nivel, destino y formato configurables. Formato soportado: json o text. Si output es nil cae en os.Stderr.
logging
log
slog
logger
infra
pendiente-usar
Logger_go_infra
LogLevel_go_infra
Logger_go_infra
true error_go_core
fmt
io
log/slog
os
name desc
level nivel minimo de log (LogLevelDebug, LogLevelInfo, LogLevelWarn o LogLevelError)
name desc
output destino de los logs (os.Stdout, os.Stderr, un archivo, bytes.Buffer). Si es nil se usa os.Stderr
name desc
format formato de los logs: "json" para maquina o "text" para desarrollo local
Logger listo para usar con LogInfo/LogWarn/... o error si el formato no es valido true
crea logger JSON valido
crea logger text valido
rechaza formato invalido
output nil cae en os.Stderr sin panic
emite JSON valido al escribir
filtra mensajes debajo del nivel configurado
functions/infra/logger_test.go functions/infra/logger_new.go

Ejemplo

logger, err := LoggerNew(LogLevelInfo, os.Stdout, "json")
if err != nil {
    log.Fatal(err)
}
LogInfo(logger, "server starting", "port", 8484)
// {"time":"...","level":"INFO","msg":"server starting","port":8484}

Notas

Funcion impura — internamente construye slog.NewJSONHandler o slog.NewTextHandler segun el formato y lo envuelve en slog.New(). El campo privado inner del Logger es el *slog.Logger real. Cada Logger es inmutable una vez creado: para anadir campos usar LoggerWith, que retorna una copia.