libutil: Introduce multi-level message logging

The goal of util_log is to provide a facility for a multi-level message
logging on stderr. This allows to selectively enable/disable log messages
via a log level which can be adjusted at runtime.

Signed-off-by: Alexander Egorenkov <egorenar@linux.ibm.com>
Reviewed-by: Jan Hoeppner <hoeppner@linux.ibm.com>
Reviewed-by: Philipp Rudo <prudo@linux.ibm.com>
Signed-off-by: Jan Höppner <hoeppner@linux.ibm.com>
This commit is contained in:
Alexander Egorenkov
2021-04-08 13:06:33 +02:00
committed by Jan Höppner
parent 2ece47ee1a
commit 568caa0501
3 changed files with 99 additions and 0 deletions

28
include/lib/util_log.h Normal file
View File

@@ -0,0 +1,28 @@
/**
* @defgroup util_log_h util_file: Multi-level message logging interface
* @{
* @brief Multi-level message logging
*
* Copyright IBM Corp. 2021
*
* s390-tools is free software; you can redistribute it and/or modify
* it under the terms of the MIT license. See LICENSE for details.
*/
#ifndef LIB_UTIL_LOG_H
#define LIB_UTIL_LOG_H
enum util_log_level {
UTIL_LOG_ERROR,
UTIL_LOG_WARN,
UTIL_LOG_INFO,
UTIL_LOG_DEBUG,
UTIL_LOG_TRACE,
UTIL_LOG_NUM_LEVELS /* Must be the last one. */
};
void util_log_set_level(int log_level);
void util_log_print(int log_level, const char *fmt, ...);
#endif /** LIB_UTIL_LOG_H @} */