Repolode
uber-go

uber-go/zap

Una biblioteca de logging estructurado y por niveles para Go, rápida y con una API Logger que no asigna memoria y una API SugaredLogger más flexible.

Estrellas
24,678
Forks
1,575
Issues abiertos
201
Último commit
el mes pasado

¿Qué es?

Zap es una biblioteca de logging para Go que escribe entradas estructuradas con campos clave-valor tipados y admite niveles de log. Está pensada para aplicaciones que registran logs en rutas de código críticas para el rendimiento, donde la serialización basada en reflexión y el formato de cadenas añadirían un costo considerable de CPU y asignaciones de memoria.

Zap ofrece dos API. Logger utiliza valores Field con tipos estrictos y evita asignaciones en la mayoría de las llamadas, mientras que SugaredLogger acepta pares clave-valor con tipos menos estrictos y formato al estilo printf, a cambio de un costo moderado de rendimiento. Ambas se basan en un encoder JSON que no usa reflexión. La suite de benchmarks del propio proyecto lo compara con paquetes como zerolog, slog, logrus y otros proyectos similares a zap.

La biblioteca está documentada en pkg.go.dev y su API se considera estable; no se prevén cambios incompatibles en la serie 1.x. Requiere las dos versiones minor más recientes de Go.

Funciones clave

  • 01Logging estructurado con valores Field con tipos estrictos.
  • 02SugaredLogger con API de pares clave-valor con tipos menos estrictos y formato al estilo printf.
  • 03Encoder JSON sin reflexión y sin asignaciones de memoria.
  • 04Logging por niveles con ajustes predefinidos para producción y desarrollo.

Casos de uso

  • Registrar logs en servicios Go sensibles a la latencia, donde importa reducir las asignaciones de memoria.
  • Emitir logs JSON que los sistemas de agregación de logs puedan analizar.
  • Añadir campos de contexto estructurados a las solicitudes en servicios backend.

Inicio rápido

  1. 1

    Instala la biblioteca zap con go get

    go get -u go.uber.org/zap
  2. 2

    Crea un logger de producción y registra mensajes con SugaredLogger

Antes de usarlo

  • Solo admite las dos versiones menores más recientes de Go.

En colecciones

Temas

Preguntas frecuentes

¿Qué es zap?
Una biblioteca de logging estructurado y por niveles para Go, rápida y con una API Logger que no asigna memoria y una API SugaredLogger más flexible. Zap es una biblioteca de logging para Go que escribe entradas estructuradas con campos clave-valor tipados y admite niveles de log. Está pensada para aplicaciones que registran logs en rutas de código críticas para el rendimiento, donde la serialización basada en reflexión y el formato de cadenas añadirían un costo considerable de CPU y asignaciones de memoria.
¿zap es gratuito? ¿Qué licencia tiene?
zap es open source bajo la licencia MIT. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿zap sigue mantenido?
Actualizado en los últimos 6 meses. El último commit de zap fue el 16 sept 2026.
¿Para qué puedo usar zap?
Registrar logs en servicios Go sensibles a la latencia, donde importa reducir las asignaciones de memoria. Emitir logs JSON que los sistemas de agregación de logs puedan analizar. Añadir campos de contexto estructurados a las solicitudes en servicios backend.
¿Cómo se instala zap?
Instala la biblioteca zap con go get: go get -u go.uber.org/zap Crea un logger de producción y registra mensajes con SugaredLogger
¿Dónde consigo zap?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/uber-go/zap

Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.

Proyectos relacionados