mip_logging.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include <stdint.h>
4 #include <stdarg.h>
5 
6 #ifdef __cplusplus
7 extern "C" {
8 #endif
9 
22 
26 typedef uint8_t mip_log_level;
27 #define MIP_LOG_LEVEL_OFF 0
28 #define MIP_LOG_LEVEL_FATAL 1
29 #define MIP_LOG_LEVEL_ERROR 2
30 #define MIP_LOG_LEVEL_WARN 3
31 #define MIP_LOG_LEVEL_INFO 4
32 #define MIP_LOG_LEVEL_DEBUG 5
33 #define MIP_LOG_LEVEL_TRACE 6
34 
35 typedef void (*mip_log_callback)(void* user, mip_log_level level, const char* fmt, va_list args);
43 
44 void mip_logging_init(mip_log_callback callback, mip_log_level level, void* user);
45 
48 void* mip_logging_user_data();
49 
50 void mip_logging_log(mip_log_level level, const char* fmt, ...);
51 
60 #ifdef MIP_ENABLE_LOGGING
61 #define MIP_LOG_INIT(callback, level, user) mip_logging_init(callback, level, user)
62 #else
63 #define MIP_LOG_INIT(callback, level, user) (void)0
64 #endif
65 
71 #ifdef MIP_ENABLE_LOGGING
72 #define MIP_LOG_LOG(level, ...) mip_logging_log(level, __VA_ARGS__)
73 #else
74 #define MIP_LOG_LOG(level, ...) (void)0
75 #endif
76 
84 #if !defined(MIP_LOGGING_MAX_LEVEL) || MIP_LOGGING_MAX_LEVEL >= MIP_LOG_LEVEL_FATAL
85 #define MIP_LOG_FATAL(...) MIP_LOG_LOG(MIP_LOG_LEVEL_FATAL, __VA_ARGS__)
86 #else
87 #define MIP_LOG_FATAL(...) (void)0
88 #endif
89 
93 #if !defined(MIP_LOGGING_MAX_LEVEL) || MIP_LOGGING_MAX_LEVEL >= MIP_LOG_LEVEL_ERROR
94 #define MIP_LOG_ERROR(...) MIP_LOG_LOG(MIP_LOG_LEVEL_ERROR, __VA_ARGS__)
95 #else
96 #define MIP_LOG_ERROR(...) (void)0
97 #endif
98 
102 #if !defined(MIP_LOGGING_MAX_LEVEL) || MIP_LOGGING_MAX_LEVEL >= MIP_LOG_LEVEL_WARN
103 #define MIP_LOG_WARN(...) MIP_LOG_LOG(MIP_LOG_LEVEL_WARN, __VA_ARGS__)
104 #else
105 #define MIP_LOG_WARN(...) (void)0
106 #endif
107 
111 #if !defined(MIP_LOGGING_MAX_LEVEL) || MIP_LOGGING_MAX_LEVEL >= MIP_LOG_LEVEL_INFO
112 #define MIP_LOG_INFO(...) MIP_LOG_LOG(MIP_LOG_LEVEL_INFO, __VA_ARGS__)
113 #else
114 #define MIP_LOG_INFO(...) (void)0
115 #endif
116 
120 #if !defined(MIP_LOGGING_MAX_LEVEL) || MIP_LOGGING_MAX_LEVEL >= MIP_LOG_LEVEL_DEBUG
121 #define MIP_LOG_DEBUG(...) MIP_LOG_LOG(MIP_LOG_LEVEL_DEBUG, __VA_ARGS__)
122 #else
123 #define MIP_LOG_DEBUG(...) (void)0
124 #endif
125 
129 #if !defined(MIP_LOGGING_MAX_LEVEL) || MIP_LOGGING_MAX_LEVEL >= MIP_LOG_LEVEL_TRACE
130 #define MIP_LOG_TRACE(...) MIP_LOG_LOG(MIP_LOG_LEVEL_TRACE, __VA_ARGS__)
131 #else
132 #define MIP_LOG_TRACE(...) (void)0
133 #endif
134 
138 
139 #ifdef __cplusplus
140 } // extern "C"
141 #endif
mip_logging_log
void mip_logging_log(mip_log_level level, const char *fmt,...)
Internal log function called by logging macros.
Definition: mip_logging.c:69
mip_log_level
uint8_t mip_log_level
Logging level enum.
Definition: mip_logging.h:26
mip_logging_callback
mip_log_callback mip_logging_callback()
Gets the currently active logging callback.
Definition: mip_logging.c:39
mip_logging_init
void mip_logging_init(mip_log_callback callback, mip_log_level level, void *user)
Initializes the logger with a callback and user data.
Definition: mip_logging.c:27
mip_log_callback
void(* mip_log_callback)(void *user, mip_log_level level, const char *fmt, va_list args)
Callback function typedef for custom logging behavior.
Definition: mip_logging.h:42
mip_logging_user_data
void * mip_logging_user_data()
Gets the currently active logging user data.
Definition: mip_logging.c:59
mip_logging_level
mip_log_level mip_logging_level()
Gets the currently active logging level.
Definition: mip_logging.c:49


microstrain_inertial_driver
Author(s): Brian Bingham, Parker Hannifin Corp
autogenerated on Mon Jun 24 2024 02:51:40