libmetal
Toggle main menu visibility
Loading...
Searching...
No Matches
lib
log.h
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2015, Xilinx Inc. and Contributors. All rights reserved.
3
*
4
* SPDX-License-Identifier: BSD-3-Clause
5
*/
6
11
12
#ifndef __METAL_METAL_LOG__H__
13
#define __METAL_METAL_LOG__H__
14
15
#ifdef __cplusplus
16
extern
"C"
{
17
#endif
18
22
24
enum
metal_log_level
{
25
METAL_LOG_EMERGENCY
,
26
METAL_LOG_ALERT
,
27
METAL_LOG_CRITICAL
,
28
METAL_LOG_ERROR
,
29
METAL_LOG_WARNING
,
30
METAL_LOG_NOTICE
,
31
METAL_LOG_INFO
,
32
METAL_LOG_DEBUG
,
33
};
34
36
typedef
void (*
metal_log_handler
)(
enum
metal_log_level
level,
37
const
char
*format, ...);
38
43
void
metal_set_log_handler
(
metal_log_handler
handler);
44
49
metal_log_handler
metal_get_log_handler
(
void
);
50
55
void
metal_set_log_level
(
enum
metal_log_level
level);
56
61
enum
metal_log_level
metal_get_log_level
(
void
);
62
69
void
metal_default_log_handler
(
enum
metal_log_level
level,
70
const
char
*format, ...);
71
83
#if defined(ML_FUNC_LINE)
84
#define metal_fmt(fmt) "%s:%u " fmt, __func__, __LINE__
85
#else
/* ML_FUNC_LINE */
86
#define metal_fmt(fmt) fmt
87
#endif
/* ML_FUNC_LINE */
88
96
#define metal_log(level, fmt, ...) ({ \
97
if (_metal.common.log_handler && level <= _metal.common.log_level) \
98
_metal.common.log_handler(level, metal_fmt(fmt), ## __VA_ARGS__); \
99
})
100
101
#define metal_err(fmt, args...) metal_log(METAL_LOG_ERROR, fmt, ##args)
102
#define metal_warn(fmt, args...) metal_log(METAL_LOG_WARNING, fmt, ##args)
103
#define metal_info(fmt, args...) metal_log(METAL_LOG_INFO, fmt, ##args)
104
#define metal_dbg(fmt, args...) metal_log(METAL_LOG_DEBUG, fmt, ##args)
105
107
108
#ifdef __cplusplus
109
}
110
#endif
111
112
#endif
/* __METAL_METAL_LOG__H__ */
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.
Definition
log.c:18
metal_log_level
metal_log_level
Definition
log.h:24
metal_get_log_handler
metal_log_handler metal_get_log_handler(void)
Get the current libmetal log handler.
Definition
log.c:54
metal_set_log_handler
void metal_set_log_handler(metal_log_handler handler)
Set libmetal log handler.
Definition
log.c:49
metal_set_log_level
void metal_set_log_level(enum metal_log_level level)
Set the level for libmetal logging.
Definition
log.c:59
metal_log_handler
void(* metal_log_handler)(enum metal_log_level level, const char *format,...)
Definition
log.h:36
metal_get_log_level
enum metal_log_level metal_get_log_level(void)
Get the current level for libmetal logging.
Definition
log.c:64
METAL_LOG_NOTICE
@ METAL_LOG_NOTICE
Definition
log.h:30
METAL_LOG_INFO
@ METAL_LOG_INFO
Definition
log.h:31
METAL_LOG_WARNING
@ METAL_LOG_WARNING
Definition
log.h:29
METAL_LOG_EMERGENCY
@ METAL_LOG_EMERGENCY
Definition
log.h:25
METAL_LOG_ALERT
@ METAL_LOG_ALERT
Definition
log.h:26
METAL_LOG_CRITICAL
@ METAL_LOG_CRITICAL
Definition
log.h:27
METAL_LOG_DEBUG
@ METAL_LOG_DEBUG
Definition
log.h:32
METAL_LOG_ERROR
@ METAL_LOG_ERROR
Definition
log.h:28
Generated on
for libmetal by
1.17.0