¿Qué es “c logger” y cómo usarlo?

c logger de registro simple y eficiente para el lenguaje C. Te permite escribir mensajes de registro en un archivo o en la consola, con diferentes niveles de detalle y control. En este artículo, veremos qué características ofrece C logger, cómo instalarlo y usarlo en sus proyectos C.

Características del registrador C

c logger es una biblioteca liviana, que tiene solo 500 líneas de código fuente. Es compatible con el estándar C89 y es seguro para subprocesos. Ofrece dos tipos de registro:

  • Registro de consola, que muestra mensajes de registro en salida estándar o de error.
  • Registro en archivo, que escribe mensajes de registro en un archivo de texto, con rotación automática según el tamaño del archivo.
GetPaidStock.com 648cc5e1c018c

c logger también le permite personalizar el registro con un archivo de configuración, en el que puede definir el formato del mensaje, el nivel de detalle, el nombre del archivo de registro, el tamaño máximo del archivo, etc.

¿Cómo instalar el registrador c?

Para instalar c logger, simplemente descargue el código fuente del repositorio de GitHub y compílelo con su compilador de C favorito. Por ejemplo, con 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

Esto creará un archivo estático libclogger.a que puede vincular a su programa C. También deberá incluir el archivo de encabezado logger.h en sus archivos fuente.

GetPaidStock.com 648cc730e4ed6

¿Cómo utilizar el obturador?

Para usar c logger, primero debes inicializar la biblioteca con la logger_init , pasándole el nombre del archivo de configuración o NULL si quieres usar los parámetros predeterminados. función logger para escribir mensajes de registro, pasándole una etiqueta, un nivel y un mensaje. Por ejemplo :

#include "logger.h" int main(void) { /* Inicializa la biblioteca con el archivo config.ini */ if (logger_init("config.ini") != 0) { fprintf(stderr, "Error de inicialización de c registrador\n"); devolver 1; } /* Escribe un mensaje de nivel INFO con la etiqueta "main" */ logger("main", LOG_INFO, "Inicio del programa"); /* Escribe un mensaje de nivel ERROR con la etiqueta "main" */ logger("main", LOG_ERROR, "Fatal error"); /* Finalizar biblioteca */ logger_end(); devolver 0; } 
GetPaidStock.com 648cc8415ebd3

El formato de los mensajes de registro depende del archivo de configuración utilizado. Por defecto, tiene la forma:

nivel de mensaje de etiqueta de fecha y hora

Por ejemplo :

2023-06-13 02:37:16 INFORMACIÓN principal Inicio del programa 2023-06-13 02:37:16 ERROR principal Error fatal

El formato se puede modificar utilizando las siguientes variables en el archivo de configuración:

  • %d: la fecha en formato AAAA-MM-DD
  • %t: hora en formato HH:MM:SS
  • %c: la etiqueta del mensaje
  • %l: nivel de mensaje
  • %m: el mensaje
  • %n: un salto de línea

Por ejemplo, si queremos tener un formato más corto, podemos usar:

[formatos] simple = "%t %c %l %m%n"

¿Qué niveles de detalle están disponibles?

ObtenerPaidStock.com 648cc7c60325c

c logger ofrece cinco niveles de detalle para los mensajes de registro:

  • LOG_DEBUG: para mensajes de depuración, útil para desarrolladores.
  • LOG_INFO: para mensajes informativos, útiles para los usuarios.
  • LOG_WARN: para mensajes de advertencia, útil para informar situaciones anormales pero no críticas.
  • LOG_ERROR: para mensajes de error, útil para informar situaciones críticas que impiden que el programa funcione correctamente.
  • LOG_FATAL: para mensajes fatales, útil para informar situaciones irrecuperables que requieren detener el programa.

Puede controlar el nivel de detalle de los mensajes de registro utilizando la log_level en el archivo de configuración. Por ejemplo, si queremos mostrar solo mensajes de nivel ERROR y FATAL, podemos usar:

[general] nivel_registro = 3

Los niveles están numerados del 0 al 4, del más detallado al menos detallado. De forma predeterminada, el nivel es 0, que muestra todos los mensajes.

¿Cómo controlar el tamaño del archivo de registro?

GetPaidStock.com 648cc93a4a071

c logger le permite limitar el tamaño del archivo de registro utilizando la max_file_size en el archivo de configuración. Por ejemplo, si queremos que el archivo de registro no supere 1 MB, podemos usar:

[general] max_file_size = 1048576

El tamaño se expresa en bytes. De forma predeterminada, no hay límite de tamaño.

Cuando el archivo de registro alcanza el tamaño máximo, c logger crea un nuevo archivo con un sufijo numérico. Por ejemplo, si el nombre del archivo de registro es log.txt , el primer archivo creado será log.txt.1 , luego log.txt.2 , etc. La cantidad máxima de archivos creados está controlada por la max_file_count en el archivo de configuración. Por ejemplo, si queremos mantener un máximo de 10 archivos de registro, podemos usar:

[general] max_file_count = 10

De forma predeterminada, no hay límite en la cantidad de archivos.

Preguntas frecuentes

¿Cuál es la diferencia entre c logger y otras bibliotecas de registro como log4c o nglogc?

c logger destaca por su sencillez y ligereza. No tiene tantas funciones como otras bibliotecas más completas, pero cubre las necesidades esenciales de registro. También es compatible con el estándar C89 y seguro para subprocesos.

¿Cómo muestro los mensajes de registro en un formato que no sea texto?

c logger solo admite formato de texto para mensajes de registro. Si desea utilizar otro formato, como JSON o XML, deberá escribir su propia función de formato y llamarla en la de registro .

¿Cómo filtrar mensajes de registro según etiqueta o nivel?

c logger no ofrece filtrado avanzado de mensajes de registro. Solo puede controlar el nivel general del mensaje con la log_level en el archivo de configuración. Si desea filtrar mensajes según la etiqueta o el nivel, deberá escribir su propia función de filtro y llamarla en la de registro .

¿Cómo envío mensajes de registro a un destino que no sea la consola o el archivo?

c logger solo admite consola y archivo como destinos para mensajes de registro. Si desea enviar los mensajes a otro destino, como una base de datos o un servicio web, deberá escribir su propia función de envío y llamarla en la de registro .

¿Cómo depurar el registrador c en caso de problema?

c logger proporciona una logger_debug que muestra información sobre el estado interno de la biblioteca. Puede llamarlo en cualquier momento para comprobar si c logger está funcionando correctamente.

Conclusión

c logger es una biblioteca de registro simple y eficiente para el lenguaje C. Le permite escribir mensajes de registro en un archivo o en la consola, con diferentes niveles de detalle y control. Es fácil de instalar y usar y ofrece personalización con un archivo de configuración. c logger se basa en el mejores-memoria-ram-a-objetos-/" target="_blank">principio de programación orientada a objetos , que le permite crear objetos registradores con propiedades y métodos específicos. c logger es una solución ideal para desarrolladores que desean agregar funcionalidad de registro a sus proyectos C sin complicaciones.

Artículo anterior ¿Qué son las fundas de bereal?
Artículo siguiente ¿Error de Facebook Messenger? ¿Qué hacer para solucionar los problemas de averías?
Hola, soy François :) Editor en mi tiempo libre al que le encanta compartir su pasión: ¡TT High tech! 😍 Ya sea hardware, software, videojuegos, redes sociales y muchas otras áreas del sitio. Comparto contigo mis análisis, mis pruebas, tutoriales y mis favoritos en varios medios. Soy un tecnófilo conocedor y exigente, que no sólo sigue la moda, sino que busca guiarte hacia las mejores soluciones. ¡Así que estad atentos!