|
MIP_SDK
v4.0.0-237-g9879cb72
MicroStrain Communications Library for embedded systems
|
Go to the documentation of this file.
37 #define MICROSTRAIN_LOGGING_LEVEL_OFF_ 0
38 #define MICROSTRAIN_LOGGING_LEVEL_FATAL_ 1
39 #define MICROSTRAIN_LOGGING_LEVEL_ERROR_ 2
40 #define MICROSTRAIN_LOGGING_LEVEL_WARN_ 3
41 #define MICROSTRAIN_LOGGING_LEVEL_INFO_ 4
42 #define MICROSTRAIN_LOGGING_LEVEL_DEBUG_ 5
43 #define MICROSTRAIN_LOGGING_LEVEL_TRACE_ 6
45 #ifndef MICROSTRAIN_LOGGING_MAX_LEVEL
47 #define MICROSTRAIN_LOGGING_MAX_LEVEL MICROSTRAIN_LOGGING_LEVEL_OFF_
48 #endif // !MICROSTRAIN_LOGGING_MAX_LEVEL
50 #if MICROSTRAIN_LOGGING_MAX_LEVEL > MICROSTRAIN_LOGGING_LEVEL_OFF_
51 #define MICROSTRAIN_LOGGING_ENABLED
52 #endif // MICROSTRAIN_LOGGING_MAX_LEVEL > MICROSTRAIN_LOGGING_LEVEL_OFF_
54 #if MICROSTRAIN_LOGGING_MAX_LEVEL >= MICROSTRAIN_LOGGING_LEVEL_FATAL_
55 #define MICROSTRAIN_LOGGING_ENABLED_FATAL
56 #endif // MICROSTRAIN_LOGGING_MAX_LEVEL >= MICROSTRAIN_LOGGING_LEVEL_FATAL_
58 #if MICROSTRAIN_LOGGING_MAX_LEVEL >= MICROSTRAIN_LOGGING_LEVEL_ERROR_
59 #define MICROSTRAIN_LOGGING_ENABLED_ERROR
60 #endif // MICROSTRAIN_LOGGING_MAX_LEVEL >= MICROSTRAIN_LOGGING_LEVEL_ERROR_
62 #if MICROSTRAIN_LOGGING_MAX_LEVEL >= MICROSTRAIN_LOGGING_LEVEL_WARN_
63 #define MICROSTRAIN_LOGGING_ENABLED_WARN
64 #endif // MICROSTRAIN_LOGGING_MAX_LEVEL >= MICROSTRAIN_LOGGING_LEVEL_WARN_
66 #if MICROSTRAIN_LOGGING_MAX_LEVEL >= MICROSTRAIN_LOGGING_LEVEL_INFO_
67 #define MICROSTRAIN_LOGGING_ENABLED_INFO
68 #endif // MICROSTRAIN_LOGGING_MAX_LEVEL >= MICROSTRAIN_LOGGING_LEVEL_INFO_
70 #if MICROSTRAIN_LOGGING_MAX_LEVEL >= MICROSTRAIN_LOGGING_LEVEL_DEBUG_
71 #define MICROSTRAIN_LOGGING_ENABLED_DEBUG
72 #endif // MICROSTRAIN_LOGGING_MAX_LEVEL >= MICROSTRAIN_LOGGING_LEVEL_DEBUG_
74 #if MICROSTRAIN_LOGGING_MAX_LEVEL >= MICROSTRAIN_LOGGING_LEVEL_TRACE_
75 #define MICROSTRAIN_LOGGING_ENABLED_TRACE
76 #endif // MICROSTRAIN_LOGGING_MAX_LEVEL >= MICROSTRAIN_LOGGING_LEVEL_TRACE_
134 #ifdef MICROSTRAIN_LOGGING_ENABLED
135 #define MICROSTRAIN_LOG_INIT(callback, level, user) microstrain_logging_init(callback, level, user)
136 #else // !MICROSTRAIN_LOGGING_ENABLED
137 #define MICROSTRAIN_LOG_INIT(callback, level, user) (void)callback; (void)level; (void)user
138 #endif // MICROSTRAIN_LOGGING_ENABLED
146 #ifdef MICROSTRAIN_LOGGING_ENABLED
147 #define MICROSTRAIN_LOG_LOG(level, ...) microstrain_logging_log(level, __VA_ARGS__)
148 #define MICROSTRAIN_LOG_LOG_V(level, fmt, args) microstrain_logging_log_v(level, fmt, args)
149 #else // !MICROSTRAIN_LOGGING_ENABLED
150 #define MICROSTRAIN_LOG_LOG(level, ...) microstrain_log_unused_v(__VA_ARGS__)
151 #define MICROSTRAIN_LOG_LOG_V(level, fmt, args) (void)fmt; (void)args
152 #endif // MICROSTRAIN_LOGGING_ENABLED
163 #ifdef MICROSTRAIN_LOGGING_ENABLED_FATAL
164 #define MICROSTRAIN_LOG_FATAL(...) MICROSTRAIN_LOG_LOG(MICROSTRAIN_LOG_LEVEL_FATAL, __VA_ARGS__)
165 #define MICROSTRAIN_LOG_FATAL_V(fmt, args) MICROSTRAIN_LOG_LOG_V(MICROSTRAIN_LOG_LEVEL_FATAL, fmt, args)
166 #else // !MICROSTRAIN_LOGGING_ENABLED_FATAL
167 #define MICROSTRAIN_LOG_FATAL(...) microstrain_log_unused_v(__VA_ARGS__)
168 #define MICROSTRAIN_LOG_FATAL_V(fmt, args) (void)fmt; (void)args
169 #endif // MICROSTRAIN_LOGGING_ENABLED_FATAL
176 #ifdef MICROSTRAIN_LOGGING_ENABLED_ERROR
177 #define MICROSTRAIN_LOG_ERROR(...) MICROSTRAIN_LOG_LOG(MICROSTRAIN_LOG_LEVEL_ERROR, __VA_ARGS__)
178 #define MICROSTRAIN_LOG_ERROR_V(fmt, args) MICROSTRAIN_LOG_LOG_V(MICROSTRAIN_LOG_LEVEL_ERROR, fmt, args)
179 #else // !MICROSTRAIN_LOGGING_ENABLED_ERROR
180 #define MICROSTRAIN_LOG_ERROR(...) microstrain_log_unused_v(__VA_ARGS__)
181 #define MICROSTRAIN_LOG_ERROR_V(fmt, args) (void)fmt; (void)args
182 #endif // MICROSTRAIN_LOGGING_ENABLED_ERROR
188 #ifdef MICROSTRAIN_LOGGING_ENABLED_WARN
189 #define MICROSTRAIN_LOG_WARN(...) MICROSTRAIN_LOG_LOG(MICROSTRAIN_LOG_LEVEL_WARN, __VA_ARGS__)
190 #define MICROSTRAIN_LOG_WARN_V(fmt, args) MICROSTRAIN_LOG_LOG_V(MICROSTRAIN_LOG_LEVEL_WARN, fmt, args)
191 #else // !MICROSTRAIN_LOGGING_ENABLED_WARN
192 #define MICROSTRAIN_LOG_WARN(...) microstrain_log_unused_v(__VA_ARGS__)
193 #define MICROSTRAIN_LOG_WARN_V(fmt, args) (void)fmt; (void)args
194 #endif // MICROSTRAIN_LOGGING_ENABLED_WARN
200 #ifdef MICROSTRAIN_LOGGING_ENABLED_INFO
201 #define MICROSTRAIN_LOG_INFO(...) MICROSTRAIN_LOG_LOG(MICROSTRAIN_LOG_LEVEL_INFO, __VA_ARGS__)
202 #define MICROSTRAIN_LOG_INFO_V(fmt, args) MICROSTRAIN_LOG_LOG_V(MICROSTRAIN_LOG_LEVEL_INFO, fmt, args)
203 #else // !MICROSTRAIN_LOGGING_ENABLED_INFO
204 #define MICROSTRAIN_LOG_INFO(...) microstrain_log_unused_v(__VA_ARGS__)
205 #define MICROSTRAIN_LOG_INFO_V(fmt, args) (void)fmt; (void)args
206 #endif // MICROSTRAIN_LOGGING_ENABLED_INFO
213 #ifdef MICROSTRAIN_LOGGING_ENABLED_DEBUG
214 #define MICROSTRAIN_LOG_DEBUG(...) MICROSTRAIN_LOG_LOG(MICROSTRAIN_LOG_LEVEL_DEBUG, __VA_ARGS__)
215 #define MICROSTRAIN_LOG_DEBUG_V(fmt, args) MICROSTRAIN_LOG_LOG_V(MICROSTRAIN_LOG_LEVEL_DEBUG, fmt, args)
216 #else // !MICROSTRAIN_LOGGING_ENABLED_DEBUG
217 #define MICROSTRAIN_LOG_DEBUG(...) microstrain_log_unused_v(__VA_ARGS__)
218 #define MICROSTRAIN_LOG_DEBUG_V(fmt, args) (void)fmt; (void)args
219 #endif // MICROSTRAIN_LOGGING_ENABLED_DEBUG
226 #ifdef MICROSTRAIN_LOGGING_ENABLED_TRACE
227 #define MICROSTRAIN_LOG_TRACE(...) MICROSTRAIN_LOG_LOG(MICROSTRAIN_LOG_LEVEL_TRACE, __VA_ARGS__)
228 #define MICROSTRAIN_LOG_TRACE_V(fmt, args) MICROSTRAIN_LOG_LOG_V(MICROSTRAIN_LOG_LEVEL_TRACE, fmt, args)
229 #else // !MICROSTRAIN_LOGGING_ENABLED_TRACE
230 #define MICROSTRAIN_LOG_TRACE(...) microstrain_log_unused_v(__VA_ARGS__)
231 #define MICROSTRAIN_LOG_TRACE_V(fmt, args) (void)fmt; (void)args
232 #endif // MICROSTRAIN_LOGGING_ENABLED_TRACE
237 #ifdef MICROSTRAIN_LOGGING_ENABLED
238 #define MICROSTRAIN_LOG_BYTES(level, msg, data, length) microstrain_log_bytes(level, msg, data, length)
239 #else // !MICROSTRAIN_LOGGING_ENABLED
240 #define MICROSTRAIN_LOG_BYTES(level, msg, data, length) (void)level; (void)msg; (void)data; (void)length
241 #endif // MICROSTRAIN_LOGGING_ENABLED
249 #ifdef MICROSTRAIN_LOGGING_ENABLED_TRACE
250 #define MICROSTRAIN_LOG_BYTES_TRACE(msg, data, length) microstrain_log_bytes(MICROSTRAIN_LOG_LEVEL_TRACE, msg, data, length)
251 #else // !MICROSTRAIN_LOGGING_ENABLED_TRACE
252 #define MICROSTRAIN_LOG_BYTES_TRACE(msg, data, length) (void)msg; (void)data; (void)length
253 #endif // MICROSTRAIN_LOGGING_ENABLED_TRACE
262 #define MICROSTRAIN_LOG_ERROR_WITH_ERRNO(msg) MICROSTRAIN_LOG_ERROR(msg ": %d %s\n", errno, strerror(errno))
272 #define MICROSTRAIN_LOG_ERROR_WITH_ERRNO_EX(msg, ...) MICROSTRAIN_LOG_ERROR(msg ": %d %s\n", __VA_ARGS__, errno, strerror(errno))
280 #endif // __cplusplus
#define MICROSTRAIN_LOGGING_LEVEL_INFO_
Definition: logging.h:41
static void microstrain_log_unused_v(const char *fmt,...)
Definition: logging.h:79
@ MICROSTRAIN_LOG_LEVEL_WARN
Warning logs are logged when something concerning happens that may or not be a mistake.
Definition: logging.h:92
#define MICROSTRAIN_LOGGING_LEVEL_OFF_
Definition: logging.h:37
void microstrain_log_bytes(const microstrain_log_level level, const char *msg, const uint8_t *data, size_t length)
Print bytes in hex to the log.
Definition: logging.c:136
@ MICROSTRAIN_LOG_LEVEL_INFO
Info logs are logged when some general info needs to be conveyed to the user.
Definition: logging.h:93
void microstrain_logging_log(const microstrain_log_level level, const char *fmt,...)
Internal log function called by logging macros. Call MICROSTRAIN_LOG_* macros instead of using this f...
Definition: logging.c:88
microstrain_log_callback microstrain_logging_callback(void)
Gets the currently active logging callback.
Definition: logging.c:43
microstrain_log_level
Logging level enum.
Definition: logging.h:87
@ MICROSTRAIN_LOG_LEVEL_ERROR
Error logs are logged when an error occurs.
Definition: logging.h:91
void(* microstrain_log_callback)(void *user, const microstrain_log_level level, const char *fmt, va_list args)
Callback function typedef for custom logging behavior.
Definition: logging.h:106
const char * microstrain_logging_level_name(const microstrain_log_level level)
Returns a string representing the given log level.
Definition: logging.c:104
void * microstrain_logging_user_data(void)
Gets the currently active logging user data.
Definition: logging.c:63
#define MICROSTRAIN_LOGGING_LEVEL_TRACE_
Definition: logging.h:43
microstrain_log_level microstrain_logging_level(void)
Gets the currently active logging level.
Definition: logging.c:53
#define MICROSTRAIN_LOGGING_LEVEL_WARN_
Definition: logging.h:40
@ MICROSTRAIN_LOG_LEVEL_OFF
Signifies that the log is turned off.
Definition: logging.h:89
@ MICROSTRAIN_LOG_LEVEL_FATAL
Fatal logs are logged when an unrecoverable error occurs.
Definition: logging.h:90
#define MICROSTRAIN_LOGGING_LEVEL_DEBUG_
Definition: logging.h:42
#define MICROSTRAIN_LOGGING_LEVEL_FATAL_
Definition: logging.h:38
@ MICROSTRAIN_LOG_LEVEL_TRACE
Trace logs are logged in similar cases to debug logs but can be logged in tight loops.
Definition: logging.h:95
void microstrain_logging_init(const microstrain_log_callback callback, const microstrain_log_level level, void *user)
Initializes the logger with a callback and user data. Call MICROSTRAIN_LOG_INIT instead of using this...
Definition: logging.c:31
@ MICROSTRAIN_LOG_LEVEL_DEBUG
Debug logs are logged for debug purposes.
Definition: logging.h:94
void microstrain_logging_log_v(const microstrain_log_level level, const char *fmt, va_list args)
Internal log function called by variadic logging macros. Call MICROSTRAIN_LOG_*_V macros instead of u...
Definition: logging.c:74
#define MICROSTRAIN_LOGGING_LEVEL_ERROR_
Definition: logging.h:39