O que é “c logger” e como usá-lo?

c logger de registro simples e eficiente para a linguagem C. Ele permite gravar mensagens de log em um arquivo ou no console, com diferentes níveis de detalhe e controle. Neste artigo, veremos quais recursos o C logger oferece, como instalá-lo e utilizá-lo em seus projetos C.

Recursos do registrador C

c logger é uma biblioteca leve, que contém apenas 500 linhas de código-fonte. É compatível com o padrão C89 e é seguro para threads. Ele oferece dois tipos de registro:

  • Log do console, que exibe mensagens de log na saída padrão ou de erro.
  • Registro em arquivo, que grava mensagens de log em um arquivo de texto, com rotação automática com base no tamanho do arquivo.
GetPaidStock.com 648cc5e1c018c

c logger também permite personalizar o log com um arquivo de configuração, no qual você pode definir o formato da mensagem, o nível de detalhe, o nome do arquivo de log, o tamanho máximo do arquivo, etc.

Como instalar o clogger?

Para instalar o c logger, basta baixar o código-fonte do repositório GitHub e compilá-lo com seu compilador C favorito. Por exemplo, com 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 libclogger.a estático que você pode vincular ao seu programa C. Você também precisará incluir o arquivo de cabeçalho logger.h em seus arquivos de origem.

GetPaidStock.com 648cc730e4ed6

Como usar o entupimento?

Para utilizar o c logger, você deve primeiro inicializar a biblioteca com a logger_init , passando a ela o nome do arquivo de configuração ou NULL caso queira utilizar os parâmetros padrão. função logger para escrever mensagens de log, passando para ela uma tag, um nível e uma mensagem. Por exemplo :

#include "logger.h" int main(void) { /* Inicialize a biblioteca com o arquivo config.ini */ if (logger_init("config.ini") != 0) { fprintf(stderr, "Erro de inicialização de c registrador\n"); retornar 1; } /* Escreve uma mensagem de nível INFO com a tag "main" */ logger("main", LOG_INFO, "Start of program"); /* Escreve uma mensagem de nível ERROR com a tag "main" */ logger("main", LOG_ERROR, "Fatal error"); /* Fim da biblioteca */ logger_end(); retornar 0; } 
GetPaidStock.com 648cc8415ebd3

O formato das mensagens de log depende do arquivo de configuração utilizado. Por padrão, é do formato:

nível de mensagem de tag de data e hora

Por exemplo :

2023-06-13 02:37:16 INFO principal Início do programa 2023-06-13 02:37:16 principal ERRO Erro fatal

O formato pode ser modificado usando as seguintes variáveis ​​no arquivo de configuração:

  • %d: a data no formato AAAA-MM-DD
  • %t: hora no formato HH:MM:SS
  • %c: a tag da mensagem
  • %l: 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"

Que níveis de detalhe estão disponíveis?

GetPaidStock.com 648cc7c60325c

c logger oferece cinco níveis de detalhes 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 reportar situações anormais mas não críticas.
  • LOG_ERROR: para mensagens de erro, útil para reportar situações críticas que impedem o bom funcionamento do programa.
  • LOG_FATAL: para mensagens fatais, útil para reportar situações irrecuperáveis ​​que exigem a parada do programa.

Você pode controlar o nível de detalhe das mensagens de log usando a log_level no arquivo de configuração. Por exemplo, se quisermos exibir apenas mensagens de nível ERROR e FATAL, podemos usar:

[geral] log_level = 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?

GetPaidStock.com 648cc93a4a071

c logger permite limitar o tamanho do arquivo de log usando a max_file_size no arquivo de configuração. Por exemplo, se quisermos que o arquivo de log não exceda 1 MB, podemos usar:

[geral] max_file_size = 1048576

O tamanho é expresso em bytes. Por padrão, não há limite de tamanho.

Quando o arquivo de log atinge o tamanho máximo, o c logger 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 , etc. O número máximo de arquivos criados é controlado pela max_file_count no arquivo de configuração. Por exemplo, se quisermos manter no máximo 10 arquivos de log, podemos 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 c logger e outras bibliotecas de log como log4c ou nglogc?

c logger se destaca pela simplicidade e leveza. Ela não possui tantos recursos quanto outras bibliotecas mais abrangentes, mas cobre as necessidades essenciais de registro. Também é compatível com o padrão C89 e thread-safe.

Como posso exibir mensagens de log em um formato diferente de texto?

c logger suporta apenas formato de texto para mensagens de log. Se quiser usar outro formato, como JSON ou XML, você precisará escrever sua própria função de formatação e chamá-la na logger .

Como filtrar mensagens de log com base em tag ou nível?

c logger não oferece filtragem avançada de mensagens de log. Você só pode controlar o nível geral da mensagem com a log_level no arquivo de configuração. Se quiser filtrar mensagens com base em tag ou nível, você precisará escrever sua própria função de filtro e chamá-la na logger .

Como envio mensagens de log para um destino diferente do console ou do arquivo?

c logger suporta apenas console e arquivo como destinos para mensagens de log. Se quiser enviar as mensagens para outro destino, como um banco de dados ou serviço web, você precisará escrever sua própria função de envio e chamá-la na logger .

Como depurar o c logger em caso de problema?

c logger fornece uma logger_debug que exibe informações sobre o estado interno da biblioteca. Você pode ligar a qualquer momento para verificar se o c logger está funcionando corretamente.

Conclusão

c logger é uma biblioteca de log simples e eficiente para a linguagem C. Ela permite gravar mensagens de log em um arquivo ou no console, com diferentes níveis de detalhe e controle. É fácil de instalar e usar e oferece personalização com um arquivo de configuração. c logger é baseado no princípio da programação orientada a objetos , que permite criar objetos logger com propriedades e métodos específicos. c logger é uma solução ideal para desenvolvedores que desejam adicionar funcionalidade de log aos seus projetos C sem complicações.

Artigo anterior O que são capas de bereal?
Próximo artigo Bug do Facebook Messenger? O que fazer para resolver problemas de avaria?
Olá, sou o François :) Editor nas horas vagas que adora compartilhar sua paixão: TT High tech! 😍 Seja hardware, software, videogames, redes sociais e muitas outras áreas do site. Compartilho com vocês minhas análises, meus testes, tutoriais e meus favoritos em diversas mídias. Sou um tecnófilo conhecedor e exigente, que não segue apenas a moda, mas que procura orientá-lo para as melhores soluções. Então fique ligado!