| MIP_SDK
    v4.0.0-224-g55f11fa2
    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