O C Logger é uma biblioteca de registro de logs simples e eficiente para a linguagem C. Ele permite escrever mensagens de log em um arquivo ou no console, com diferentes níveis de detalhamento e controle. Neste artigo, veremos os recursos que o C Logger oferece, como instalá-lo e como usá-lo em seus projetos em C.
Características do entupimento
O C logger é uma biblioteca leve, composta por apenas 500 linhas de código-fonte. É compatível com o padrão C89 e é thread-safe. Oferece dois tipos de registro (logging):
- Registro no console, que exibe mensagens de log na saída padrão ou na saída de erro.
- Registro em arquivo, que grava mensagens de log em um arquivo de texto, com rotação automática baseada no tamanho do arquivo.

O clogger também permite a personalização do registro de logs por meio de um arquivo de configuração, no qual você pode definir o formato da mensagem, o nível de detalhamento, o nome do arquivo de log, o tamanho máximo do arquivo, etc.
Como faço para instalar o Clogger?
Para instalar o C Logger, basta baixar o código-fonte do repositório GitHub e compilá-lo com o compilador C de sua preferência. Por exemplo, com o gcc:
$ git clone https://github.com/yksz/c-logger.git $ cd c-logger $ gcc -c -o logger.o logger.c $ ar rcs libclogger.a logger.o
Isso criará um arquivo estático libclogger.a que você poderá vincular ao seu programa em C. Você também precisará incluir o arquivo de cabeçalho logger.h em seus arquivos de código-fonte.

Como faço para usar o desentupidor?
Para usar o C Logger, primeiro você deve inicializar a biblioteca com a `logger_init` , passando o nome do arquivo de configuração ou `NULL` se quiser usar as configurações padrão. Em seguida, você pode usar a `logger` para escrever mensagens de log, passando uma tag, um nível e uma mensagem. Por exemplo:
#include "logger.h" int main(void) { /* Inicializa a biblioteca com o arquivo config.ini */ if (logger_init("config.ini") != 0) { fprintf(stderr, "Erro ao inicializar o logger em C\n"); return 1; } /* Escreve uma mensagem de nível INFO com a tag "main" */ logger("main", LOG_INFO, "Programa iniciado"); /* Escreve uma mensagem de nível ERROR com a tag "main" */ logger("main", LOG_ERROR, "Erro fatal"); /* Encerra a biblioteca */ logger_end(); return 0; }

O formato das mensagens de log depende do arquivo de configuração utilizado. Por padrão, ele segue o seguinte formato:
mensagem de nível de tag de data e hora
Por exemplo :
2023-06-13 02:37:16 main INFO Início do programa 2023-06-13 02:37:16 main ERROR Erro fatal
O formato pode ser modificado utilizando as seguintes variáveis no arquivo de configuração:
- %d: a data no formato AAAA-MM-DD
- %t: a hora no formato HH:MM:SS
- %c: a etiqueta da mensagem
- %l: o nível da mensagem
- %m: a mensagem
- %n: uma quebra de linha
Por exemplo, se quisermos um formato mais curto, podemos usar:
[formatos] simples = "%t %c %l %m%n"
Quais os níveis de detalhe disponíveis?

O clogger oferece cinco níveis de detalhe para mensagens de log:
- LOG_DEBUG: para mensagens de depuração, útil para desenvolvedores.
- LOG_INFO: para mensagens informativas, úteis para os usuários.
- LOG_WARN: para mensagens de aviso, útil para relatar situações anormais, mas não críticas.
- LOG_ERROR: para mensagens de erro, útil para sinalizar situações críticas que impedem o programa de funcionar corretamente.
- LOG_FATAL: para mensagens fatais, útil para sinalizar situações irrecuperáveis que exigem a interrupção do programa.
O nível de detalhamento das mensagens de log pode ser controlado usando a `log_level` no arquivo de configuração. Por exemplo, se você quiser exibir apenas as mensagens de ERRO e FALHA, você pode usar:
[geral] nível_de_log = 3
Os níveis são numerados de 0 a 4, do mais detalhado ao menos detalhado. Por padrão, o nível é 0, que exibe todas as mensagens.
Como controlar o tamanho do arquivo de log?

O c logger permite limitar o tamanho do arquivo de log usando a `max_file_size` no arquivo de configuração. Por exemplo, se você quiser que o arquivo de log não ultrapasse 1 MB, você pode usar:
[geral] tamanho_máximo_do_arquivo = 1048576
O tamanho é expresso em bytes. Por padrão, não há limite de tamanho.
Quando o arquivo de log atinge seu tamanho máximo, o logger c cria um novo arquivo com um sufixo numérico. Por exemplo, se o nome do arquivo de log for log.txt , o primeiro arquivo criado será log.txt.1 , depois log.txt.2 e assim por diante. O número máximo de arquivos criados é controlado pela max_file_count no arquivo de configuração. Por exemplo, se você quiser manter um máximo de 10 arquivos de log, você pode usar:
[geral] max_file_count = 10
Por padrão, não há limite para o número de arquivos.
Perguntas frequentes
Qual a diferença entre o logger em C e outras bibliotecas de registro como log4c ou nglogc?
A biblioteca C logger destaca-se pela sua simplicidade e leveza. Embora não ofereça tantos recursos quanto algumas bibliotecas mais abrangentes, ela atende às necessidades essenciais de registro de logs. Além disso, é compatível com o padrão C89 e thread-safe.
Como posso exibir mensagens de log em um formato diferente de texto?
O logger em C suporta apenas o formato de texto para mensagens de log. Se você quiser usar outro formato, como JSON ou XML, precisará escrever sua própria função de formatação e chamá-la dentro da do logger .
Como posso filtrar mensagens de log com base em tag ou nível?
O logger C não oferece filtragem avançada de mensagens de log. Você só pode controlar o nível geral das mensagens usando a `log_level` no arquivo de configuração. Se você quiser filtrar mensagens com base em tags ou níveis, precisará escrever sua própria função de filtragem e chamá-la dentro da `logger` .
Como posso enviar mensagens de log para um destino diferente do console ou de um arquivo?
O logger em C suporta apenas o console e arquivos como destinos para mensagens de log. Se você quiser enviar mensagens para outro destino, como um banco de dados ou serviço web, precisará escrever sua própria função de envio e chamá-la dentro da do logger .
Como faço para depurar o C-logger se houver algum problema?
função `logger_debug` que exibe informações sobre o estado interno da biblioteca. Você pode chamá-la a qualquer momento para verificar se o logger em C está funcionando corretamente.
Conclusão
O Clogger é uma biblioteca de registro de logs simples e eficiente para a linguagem C. Ele permite escrever mensagens de log em um arquivo ou no console, com diferentes níveis de detalhamento e controle. É fácil de instalar e usar, e oferece personalização por meio de um arquivo de configuração. O Clogger é baseado em princípios de programação orientada a objetos , o que permite criar objetos de registro com propriedades e métodos específicos. O Clogger é uma solução ideal para desenvolvedores que desejam adicionar funcionalidades de registro de logs aos seus projetos em C sem complicações.
![[GetPaidStock.com]-648cc8b4ec663](https://tt-hardware.com/wp-content/uploads/2023/06/GetPaidStock.com-648cc8b4ec663-696x464.jpg)


