O que é "clogger" e como usá-lo?

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.
GetPaidStock.com 648cc5e1c018c

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.

GetPaidStock.com 648cc730e4ed6

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; }
GetPaidStock.com 648cc8415ebd3

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?

GetPaidStock.com 648cc7c60325c

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?

GetPaidStock.com 648cc93a4a071

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.

Artigo anterior : O que são replays no Bereal?
Próximo artigo: Problema no Facebook Messenger? O que fazer para resolver a interrupção?
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!