SDK Multiplataforma en C logo

SDK Multiplataforma en C

Log

❮ Anterior
Siguiente ❯

Registro donde un programa en ejecución puede volcar información sobre su funcionamiento interno.


Funciones

uint32_tlog_printf (...)
voidlog_output (...)
voidlog_file (...)
const char_t*log_get_file (void)

Un log o diario es un registro de anomalías que ocurren en tiempo de ejecución y que ayudan a la posterior depuración del programa o a determinar la causa de un error (Figura 1). Este informe está dirigido en mayor medida a los programadores o administradores del software y no al usuario final, por lo que es recomendable incluir información técnica específica sobre la causa del problema. Los mensajes dirigidos al usuario final deben estar escritos en un tono más amigable, lejos de tecnicismos y enviados a la salida estándar (stdout stderr) o al sistema de ventanas, si estamos ante una aplicación de escritorio.

  • Utiliza log_printf para escribir un mensaje en el diario de ejecución.
  • Esquema de un proceso enviando información a un registro log.
    Figura 1: Mensajes relativos a anomalías internas del programa, pueden enviarse a un registro log.

log_printf ()

Escribe un mensaje en el log, con el formato del printf.

uint32_t
log_printf(const char_t *format,
           ...);
1
2
log_printf("Leaks of object '%s' (%d bytes)", object->name, object->size);
[12:34:23] Leaks of object 'String' (96 bytes)
format

Cadena con el formato tipo-printf con un número variable de parámetros.

...

Argumentos o variables del printf.

Retorna

El número de bytes escritos.


log_output ()

Establece si el contenido del log será redirigido o no a la salida estándar.

void
log_output(const bool_t std,
           const bool_t err);
std

Si TRUE las líneas se enviarán a la salida estándar stdout. Por defecto, TRUE.

err

Si TRUE las líneas se enviarán a la salida de error stderr. Por defecto, FALSE.


log_file ()

Establece un archivo de destino, donde se escribirán las lineas del log.

void
log_file(const char_t *pathname);
pathname

Nombre del archivo incluida su ruta absoluta o relativa. Si el archivo no existe será creado y si ya existe, las futuras líneas se añadirán el final del mismo. Si NULL se deshabilitará la escritura en archivo del log.


log_get_file ()

Obtiene el archivo actual asociado al log.

const char_t*
log_get_file(void);

Retorna

El pathname absoluto del archivo.

❮ Anterior
Siguiente ❯