24#define LIB_LOGGER UINT8_C(0x0C)
30#define IFX_LOGGER_INITIALIZE UINT8_C(0x01)
36#define IFX_LOGGER_LOG UINT8_C(0x02)
41#define IFX_LOGGER_SET_LEVEL UINT8_C(0x03)
49#define IFX_LOGGER_FORMAT_ERROR 0x01u
155 const uint8_t *data,
size_t data_len,
156 const char *delimiter);
173 const char *message);
Infineon specific error code creation and parsing.
uint32_t ifx_status_t
Custom return code type used by all Infineon host software libraries.
ifx_status_t(* ifx_logger_set_level_callback_t)(ifx_logger_t *self, ifx_log_level level)
Implementation specific log level setter.
ifx_log_level
Log level for filtering messages to actually be logged.
@ IFX_LOG_WARN
Information that warns of potential problems.
@ IFX_LOG_INFO
Information that help trace the program's normal execution flow.
@ IFX_LOG_FATAL
Information about non-recoverable errors.
@ IFX_LOG_ERROR
Information about (recoverable) errors.
@ IFX_LOG_DEBUG
Debug information for finding problems in library.
ifx_status_t(* ifx_logger_log_callback_t)(const ifx_logger_t *self, const char *source, ifx_log_level level, const char *message)
Implementation specific log function.
void(* ifx_logger_destroy_callback_t)(ifx_logger_t *self)
Implementation specific destructor.
ifx_logger_t * ifx_logger_default
Default Logger instance to be used.
Generic Logger object used to decapsulate concrete implementation from interface.
void * _data
Private member for generic logger data as void*.
ifx_status_t ifx_logger_initialize(ifx_logger_t *self)
Initializes Logger object by setting all members to valid (but potentially unusable) values.
ifx_status_t ifx_logger_log(const ifx_logger_t *self, const char *source, ifx_log_level level, const char *formatter,...)
Log formatted message.
ifx_log_level _level
Private member for minimum log level used for filtering messages.
void ifx_logger_set_default(ifx_logger_t *logger)
Sets default Logger to be used.
void ifx_logger_destroy(ifx_logger_t *self)
Frees memory associated with Logger object (but not object itself).
ifx_logger_log_callback_t _log
Private logging function for concrete implementation.
ifx_logger_destroy_callback_t _destructor
Private destructor if further cleanup is necessary.
ifx_logger_set_level_callback_t _set_level
Private function to set log level.
ifx_status_t ifx_logger_set_level(ifx_logger_t *self, ifx_log_level level)
All messages with level lower than level shall be discarded by the logger.
ifx_status_t ifx_logger_log_bytes(const ifx_logger_t *self, const char *source, ifx_log_level level, const char *msg, const uint8_t *data, size_t data_len, const char *delimiter)
Extension of ifx_logger_log() for logging byte arrays.