MIP_SDK  v3.0.0-533-g58dc0c0
MicroStrain Communications Library for embedded systems
Macros | Typedefs | Enumerations | Functions
logging.h File Reference
#include <stdarg.h>
#include <stddef.h>
#include <stdint.h>
#include <stdbool.h>

Go to the source code of this file.

Macros

#define MICROSTRAIN_LOG_INIT(callback, level, user)   microstrain_logging_init(callback, level, user)
 Helper macro used to initialize the MicroStrain logger. This function does not need to be called unless the user wants logging. More...
 
#define MICROSTRAIN_LOG_LOG(level, ...)   microstrain_logging_log(level, __VA_ARGS__)
 Helper macro used to log data inside the MicroStrain SDK. Prefer specific log level functions like MICROSTRAIN_LOG_INFO, etc. when possible. More...
 
#define MICROSTRAIN_LOG_LOG_V(level, fmt, args)   microstrain_logging_log_v(level, fmt, args)
 
#define MICROSTRAIN_LOGGING_MAX_LEVEL   MICROSTRAIN_LOG_LEVEL_WARN
 
#define MICROSTRAIN_LOG_FATAL(...)   MICROSTRAIN_LOG_LOG(MICROSTRAIN_LOG_LEVEL_FATAL, __VA_ARGS__)
 Helper macro used to log data inside the MicroStrain SDK at fatal level. More...
 
#define MICROSTRAIN_LOG_FATAL_V(fmt, args)   MICROSTRAIN_LOG_LOG_V(MICROSTRAIN_LOG_LEVEL_FATAL, fmt, args)
 
#define MICROSTRAIN_LOG_ERROR(...)   MICROSTRAIN_LOG_LOG(MICROSTRAIN_LOG_LEVEL_ERROR, __VA_ARGS__)
 Helper macro used to log data inside the MicroStrain SDK at error level. More...
 
#define MICROSTRAIN_LOG_ERROR_V(fmt, args)   MICROSTRAIN_LOG_LOG_V(MICROSTRAIN_LOG_LEVEL_ERROR, fmt, args)
 
#define MICROSTRAIN_LOG_WARN(...)   MICROSTRAIN_LOG_LOG(MICROSTRAIN_LOG_LEVEL_WARN, __VA_ARGS__)
 Helper macro used to log data inside the MicroStrain SDK at warn level. More...
 
#define MICROSTRAIN_LOG_WARN_V(fmt, args)   MICROSTRAIN_LOG_LOG_V(MICROSTRAIN_LOG_LEVEL_WARN, fmt, args)
 
#define MICROSTRAIN_LOG_INFO(...)   MICROSTRAIN_LOG_LOG(MICROSTRAIN_LOG_LEVEL_INFO, __VA_ARGS__)
 Helper macro used to log data inside the MicroStrain SDK at info level. More...
 
#define MICROSTRAIN_LOG_INFO_V(fmt, args)   MICROSTRAIN_LOG_LOG_V(MICROSTRAIN_LOG_LEVEL_INFO, fmt, args)
 
#define MICROSTRAIN_LOG_DEBUG(...)   MICROSTRAIN_LOG_LOG(MICROSTRAIN_LOG_LEVEL_DEBUG, __VA_ARGS__)
 Helper macro used to log data inside the MicroStrain SDK at debug level. More...
 
#define MICROSTRAIN_LOG_DEBUG_V(fmt, args)   MICROSTRAIN_LOG_LOG_V(MICROSTRAIN_LOG_LEVEL_DEBUG, fmt, args)
 
#define MICROSTRAIN_LOG_TRACE(...)   MICROSTRAIN_LOG_LOG(MICROSTRAIN_LOG_LEVEL_TRACE, __VA_ARGS__)
 Helper macro used to log data inside the MicroStrain SDK at trace level. More...
 
#define MICROSTRAIN_LOG_TRACE_V(fmt, args)   MICROSTRAIN_LOG_LOG_V(MICROSTRAIN_LOG_LEVEL_TRACE, fmt, args)
 
#define MICROSTRAIN_LOG_BYTES(level, msg, data, length)   microstrain_log_bytes(level, msg, data, length)
 Helper macro used to log bytes as a hex sting. More...
 
#define MICROSTRAIN_LOG_BYTES_TRACE(msg, data, length)   microstrain_log_bytes(MICROSTRAIN_LOG_LEVEL_TRACE, msg, data, length)
 Helper macro used to log bytes as a hex sting at trace level. More...
 
#define MICROSTRAIN_LOG_ERROR_WITH_ERRNO(msg)   MICROSTRAIN_LOG_ERROR(msg ": %d %s\n", errno, strerror(errno))
 Helper macro used to log an error message from a syscall. More...
 
#define MICROSTRAIN_LOG_ERROR_WITH_ERRNO_EX(msg, ...)   MICROSTRAIN_LOG_ERROR(msg ": %d %s\n", __VA_ARGS__, errno, strerror(errno))
 Helper macro used to log an error message from a syscall. More...
 

Typedefs

typedef enum microstrain_log_level microstrain_log_level
 Logging level enum. More...
 
typedef void(* microstrain_log_callback) (void *user, const microstrain_log_level level, const char *fmt, va_list args)
 Callback function typedef for custom logging behavior. More...
 

Enumerations

enum  microstrain_log_level {
  MICROSTRAIN_LOG_LEVEL_OFF = 0, MICROSTRAIN_LOG_LEVEL_FATAL = 1, MICROSTRAIN_LOG_LEVEL_ERROR = 2, MICROSTRAIN_LOG_LEVEL_WARN = 3,
  MICROSTRAIN_LOG_LEVEL_INFO = 4, MICROSTRAIN_LOG_LEVEL_DEBUG = 5, MICROSTRAIN_LOG_LEVEL_TRACE = 6
}
 Logging level enum. More...
 

Functions

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 function directly. This function does not have to be called unless the user wants logging. More...
 
microstrain_log_callback microstrain_logging_callback (void)
 Gets the currently active logging callback. More...
 
microstrain_log_level microstrain_logging_level (void)
 Gets the currently active logging level. More...
 
void * microstrain_logging_user_data (void)
 Gets the currently active logging user data. More...
 
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 using this function directly. More...
 
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 function directly. More...
 
const char * microstrain_logging_level_name (const microstrain_log_level level)
 Returns a string representing the given log level. More...
 
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. More...