libmetal
Loading...
Searching...
No Matches
Library Logging Interfaces

Macros

#define metal_fmt(fmt)
 
#define metal_log(level, fmt, ...)
 Emit a log message if the log level permits.
 
#define metal_err(fmt, args...)
 
#define metal_warn(fmt, args...)
 
#define metal_info(fmt, args...)
 
#define metal_dbg(fmt, args...)
 

Typedefs

typedef void(* metal_log_handler) (enum metal_log_level level, const char *format,...)
 

Enumerations

enum  metal_log_level {
  METAL_LOG_EMERGENCY , METAL_LOG_ALERT , METAL_LOG_CRITICAL , METAL_LOG_ERROR ,
  METAL_LOG_WARNING , METAL_LOG_NOTICE , METAL_LOG_INFO , METAL_LOG_DEBUG
}
 

Functions

void metal_set_log_handler (metal_log_handler handler)
 Set libmetal log handler.
 
metal_log_handler metal_get_log_handler (void)
 Get the current libmetal log handler.
 
void metal_set_log_level (enum metal_log_level level)
 Set the level for libmetal logging.
 
enum metal_log_level metal_get_log_level (void)
 Get the current level for libmetal logging.
 
void metal_default_log_handler (enum metal_log_level level, const char *format,...)
 Default libmetal log handler. This handler prints libmetal log messages to stderr.
 

Detailed Description

Macro Definition Documentation

◆ metal_dbg

#define metal_dbg ( fmt,
args... )
Value:
#define metal_log(level, fmt,...)
Emit a log message if the log level permits.
Definition log.h:98
@ METAL_LOG_DEBUG
Definition log.h:32

◆ metal_err

#define metal_err ( fmt,
args... )
Value:
@ METAL_LOG_ERROR
Definition log.h:28

◆ metal_fmt

#define metal_fmt ( fmt)
Value:
fmt

◆ metal_info

#define metal_info ( fmt,
args... )
Value:
@ METAL_LOG_INFO
Definition log.h:31

◆ metal_log

#define metal_log ( level,
fmt,
... )
Value:
({ \
if (_metal.common.log_handler && level <= _metal.common.log_level) \
_metal.common.log_handler(level, metal_fmt(fmt), ## __VA_ARGS__); \
})
#define metal_fmt(fmt)
Definition log.h:88
struct metal_state _metal
Definition init.c:16

Emit a log message if the log level permits.

Parameters
levelLog level.
fmtFormat string.
...Variable number of arguments.

◆ metal_warn

#define metal_warn ( fmt,
args... )
Value:
@ METAL_LOG_WARNING
Definition log.h:29

Typedef Documentation

◆ metal_log_handler

typedef void(* metal_log_handler) (enum metal_log_level level, const char *format,...)

Log message handler type.

Enumeration Type Documentation

◆ metal_log_level

Log message priority levels for libmetal.

Enumerator
METAL_LOG_EMERGENCY 

system is unusable.

METAL_LOG_ALERT 

action must be taken immediately.

METAL_LOG_CRITICAL 

critical conditions.

METAL_LOG_ERROR 

error conditions.

METAL_LOG_WARNING 

warning conditions.

METAL_LOG_NOTICE 

normal but significant condition.

METAL_LOG_INFO 

informational messages.

METAL_LOG_DEBUG 

debug-level messages.

Function Documentation

◆ metal_default_log_handler()

void metal_default_log_handler ( enum metal_log_level level,
const char * format,
... )

Default libmetal log handler. This handler prints libmetal log messages to stderr.

Parameters
[in]levellog message level.
[in]formatlog message format string.
Returns
0 on success, or -errno on failure.

◆ metal_get_log_handler()

metal_log_handler metal_get_log_handler ( void )

Get the current libmetal log handler.

Returns
Current log handler.

◆ metal_get_log_level()

enum metal_log_level metal_get_log_level ( void )

Get the current level for libmetal logging.

Returns
Current log level.

◆ metal_set_log_handler()

void metal_set_log_handler ( metal_log_handler handler)

Set libmetal log handler.

Parameters
[in]handlerlog message handler.
Returns
0 on success, or -errno on failure.

◆ metal_set_log_level()

void metal_set_log_level ( enum metal_log_level level)

Set the level for libmetal logging.

Parameters
[in]levellog message level.