Repolode
Cysharp

Cysharp/ZLogger

Logger de texto e estruturado com zero alocações para .NET e Unity, baseado em Microsoft.Extensions.Logging e com saída UTF8.

Estrelas
1,789
Forks
130
Issues abertas
5
Último commit
há 3 dias

O que é?

ZLogger é uma biblioteca de logging para .NET e Unity que se integra ao Microsoft.Extensions.Logging. Ela usa interpolação de strings do C# como sintaxe para mensagens de log e grava a saída diretamente em UTF8 em consoles, arquivos, streams e processadores personalizados, evitando o custo da conversão de UTF16 para UTF8 presente em loggers que usam strings.

A biblioteca oferece saída em texto simples e nos formatos estruturados JSON ou MessagePack, com opções para nomear parâmetros, serializar objetos como JSON e personalizar nomes de chaves e formatos de timestamp. Os providers integrados incluem Console, File, RollingFile, Stream e InMemory, e um processador em lote facilita o envio de logs por HTTP. Um source generator para o atributo [ZLoggerMessage] gera métodos de log em tempo de compilação, com suporte a Native AOT por meio da geração de código-fonte do System.Text.Json.

ZLogger tem como alvo o .NET Standard 2.0 e versões posteriores, com melhor desempenho no .NET 8 ou superior.

Recursos principais

  • 01Usa interpolação de strings do C# para mensagens de log, capturando parâmetros como propriedades estruturadas.
  • 02Grava a saída diretamente em UTF8, evitando o custo adicional de codificação de strings.
  • 03Oferece formatadores para texto simples, JSON e MessagePack.
  • 04Disponibiliza providers de saída Console, File, RollingFile, Stream e InMemory.
  • 05Inclui um source generator para gerar métodos de log ZLoggerMessage em tempo de compilação.
  • 06Integra-se ao ASP.NET Core e ao Generic Host por meio dos builders padrão de logging.

Casos de uso

  • Registrar grandes volumes de saída no console em serviços .NET conteinerizados ou cloud-native.
  • Gravar logs estruturados em JSON em arquivos ou pipelines de logging na nuvem.
  • Adicionar logging rápido em arquivos, com rotação por data ou tamanho, a aplicações .NET.
  • Fazer logging em projetos Unity usando a mesma API.

Início rápido

  1. 1

    Instale o pacote NuGet do ZLogger

    dotnet add package ZLogger
  2. 2

    Na inicialização do ASP.NET Core, limpe os provedores padrão e adicione o provedor de console do ZLogger

Em coleções

Tópicos

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

Perguntas frequentes

O que é ZLogger?
Logger de texto e estruturado com zero alocações para .NET e Unity, baseado em Microsoft.Extensions.Logging e com saída UTF8. ZLogger é uma biblioteca de logging para .NET e Unity que se integra ao Microsoft.Extensions.Logging. Ela usa interpolação de strings do C# como sintaxe para mensagens de log e grava a saída diretamente em UTF8 em consoles, arquivos, streams e processadores personalizados, evitando o custo da conversão de UTF16 para UTF8 presente em loggers que usam strings.
ZLogger é gratuito? Qual é a licença?
ZLogger é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
ZLogger ainda é mantido?
Manutenção ativa. O último commit de ZLogger foi em 4 de nov. de 2026.
Para que posso usar ZLogger?
Registrar grandes volumes de saída no console em serviços .NET conteinerizados ou cloud-native. Gravar logs estruturados em JSON em arquivos ou pipelines de logging na nuvem. Adicionar logging rápido em arquivos, com rotação por data ou tamanho, a aplicações .NET. Fazer logging em projetos Unity usando a mesma API.
Como instalar ZLogger?
Instale o pacote NuGet do ZLogger: dotnet add package ZLogger Na inicialização do ASP.NET Core, limpe os provedores padrão e adicione o provedor de console do ZLogger
Onde consigo ZLogger?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/Cysharp/ZLogger

Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.

Projetos relacionados