Framework CLI de C# sin dependencias ni asignaciones, compatible con AOT y que genera código de análisis y enrutamiento en tiempo de compilación mediante un Source Generator.
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
Instala el paquete NuGet de ZLogger
dotnet add package ZLogger - 2
En el inicio de ASP.NET Core, borra los proveedores predeterminados y añade el proveedor de consola de ZLogger
En colecciones
Temas
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
Una biblioteca YAML 1.2 de alto rendimiento y baja asignación para C#, centrada en .NET y Unity, con serialización generada desde el código fuente.
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.
Biblioteca de logging para Python que sustituye la configuración estándar por un único logger, rotación de archivos, salida en color y logs estructurados.
Logger universal para TypeScript y JavaScript, con salida legible en terminal, JSON estructurado con los campos al principio, enmascaramiento de secretos y cero dependencias en tiempo de ejecución.
Logger estructurado y compatible a nivel de API con Go, con formatters y hooks extensibles, actualmente en modo de mantenimiento.