Repolode
Cysharp

Cysharp/ZLogger

Logger de texto y estructurado sin asignaciones para .NET y Unity, basado en Microsoft.Extensions.Logging y con salida UTF8.

Estrellas
1,789
Forks
130
Issues abiertos
5
Último commit
hace 3 días

¿Qué es?

ZLogger es una biblioteca de logging para .NET y Unity que se integra con Microsoft.Extensions.Logging. Utiliza la interpolación de cadenas de C# como sintaxis para los mensajes de log y escribe la salida directamente en UTF8 en consolas, archivos, streams y procesadores personalizados, evitando el costo de conversión de UTF16 a UTF8 que suelen tener los loggers basados en cadenas.

Admite salida de texto plano y salida estructurada en JSON o MessagePack, con opciones para asignar nombres a los parámetros, volcar objetos como JSON y personalizar los nombres de las claves y los formatos de fecha y hora. Incluye proveedores para Console, File, RollingFile, Stream e InMemory, y un procesador por lotes que facilita el envío de logs por HTTP. Un generador de código fuente para el atributo [ZLoggerMessage] genera métodos de logging en tiempo de compilación, con compatibilidad con Native AOT mediante la generación de código fuente de System.Text.Json.

ZLogger es compatible con .NET Standard 2.0 y versiones posteriores; ofrece el mejor rendimiento en .NET 8 y versiones posteriores.

Funciones clave

  • 01Utiliza la interpolación de cadenas de C# para los mensajes de log y captura los parámetros como propiedades estructuradas.
  • 02Escribe la salida directamente en UTF8 y evita el costo adicional de codificar cadenas.
  • 03Admite formatos de texto plano, JSON y MessagePack.
  • 04Incluye proveedores de salida para Console, File, RollingFile, Stream e InMemory.
  • 05Incluye un generador de código fuente que crea métodos de logging ZLoggerMessage en tiempo de compilación.
  • 06Se integra con ASP.NET Core y Generic Host mediante los constructores estándar de logging.

Casos de uso

  • Registrar grandes volúmenes de salida de consola en servicios .NET contenerizados o nativos de la nube.
  • Escribir logs estructurados en JSON en archivos o en pipelines de logging en la nube.
  • Añadir logging rápido en archivos, con rotación por fecha o tamaño, a aplicaciones .NET.
  • Registrar logs desde proyectos de Unity usando la misma API.

Inicio rápido

  1. 1

    Instala el paquete NuGet de ZLogger

    dotnet add package ZLogger
  2. 2

    En el inicio de ASP.NET Core, borra los proveedores predeterminados y añade el proveedor de consola de ZLogger

En colecciones

Temas

#logging#dotnet#csharp#structured-logging#zero-allocation#utf8#source-generator

Preguntas frecuentes

¿Qué es ZLogger?
Logger de texto y estructurado sin asignaciones para .NET y Unity, basado en Microsoft.Extensions.Logging y con salida UTF8. ZLogger es una biblioteca de logging para .NET y Unity que se integra con Microsoft.Extensions.Logging. Utiliza la interpolación de cadenas de C# como sintaxis para los mensajes de log y escribe la salida directamente en UTF8 en consolas, archivos, streams y procesadores personalizados, evitando el costo de conversión de UTF16 a UTF8 que suelen tener los loggers basados en cadenas.
¿ZLogger es gratuito? ¿Qué licencia tiene?
ZLogger es open source bajo la licencia MIT. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿ZLogger sigue mantenido?
Mantenimiento activo. El último commit de ZLogger fue el 4 nov 2026.
¿Para qué puedo usar ZLogger?
Registrar grandes volúmenes de salida de consola en servicios .NET contenerizados o nativos de la nube. Escribir logs estructurados en JSON en archivos o en pipelines de logging en la nube. Añadir logging rápido en archivos, con rotación por fecha o tamaño, a aplicaciones .NET. Registrar logs desde proyectos de Unity usando la misma API.
¿Cómo se instala ZLogger?
Instala el paquete NuGet de ZLogger: dotnet add package ZLogger En el inicio de ASP.NET Core, borra los proveedores predeterminados y añade el proveedor de consola de ZLogger
¿Dónde consigo ZLogger?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/Cysharp/ZLogger

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

Proyectos relacionados