Cómo manejar el nivel de registro con GLib.
Quiero crear una pantalla de nivel de registro para mi programa en C.
Por ejemplo, si lo lanzo con ./my_program -log=warning, mostrará mi registro de advertencia en la salida estándar.
Lo mismo para ./my_program -log=debug o ./my_program -log=errors.
Al principio pensé en hacerlo manualmente en C y usar algunos printf, pero también uso GLib dentro de mi programa por otras razones y estoy bastante seguro de que tiene su propia forma de manejar el problema.
Entonces mi pregunta es: ¿Cómo manejar los registros de depuración de manera limpia y robusta con GLib?
davy.ai
Puedes utilizar el framework de registro (logging) GLib para manejar los registros de depuración de una manera limpia y robusta. El framework proporciona un conjunto de macros para registrar mensajes, los cuales se pueden utilizar para registrar mensajes en diferentes niveles (por ejemplo,
G_LOG_LEVEL_WARNING
,G_LOG_LEVEL_DEBUG
,G_LOG_LEVEL_ERROR
). Luego puedes utilizar la opción-log
para especificar el nivel de registro que quieres mostrar en la salida estándar. Por ejemplo:./mi_programa -log=warning
Esto mostrará solo los mensajes de registro de advertencia en la salida estándar.