Loading...
Searching...
No Matches
openwsn_log.h File Reference

System logging header OpenWSN definitions. More...

Detailed Description

System logging header OpenWSN definitions.

This header implements the same functionality as log.h but avoiding macro redefinitions with OpenWSN LOG_% functions.

Author
Kaspar Schleiser kaspa.nosp@m.r@sc.nosp@m.hleis.nosp@m.er.d.nosp@m.e

Definition in file openwsn_log.h.

#include <stdio.h>
+ Include dependency graph for openwsn_log.h:

Go to the source code of this file.

Macros

#define log_write(level, ...)   printf(__VA_ARGS__)
 Default log_write function, just maps to printf.
 
#define LOG_LEVEL   LOG_INFO
 Default log level define.
 
#define LOG(level, ...)
 Log message if level <= LOG_LEVEL.
 
enum  {
  LOG_NONE , LOG_ERROR , LOG_WARNING , LOG_INFO ,
  LOG_DEBUG , LOG_ALL
}
 defined log levels More...
 

Logging convenience defines

#define LOG_RIOT_ERROR(...)   LOG(LOG_ERROR, __VA_ARGS__)
 
#define LOG_RIOT_WARNING(...)   LOG(LOG_WARNING, __VA_ARGS__)
 
#define LOG_RIOT_INFO(...)   LOG(LOG_INFO, __VA_ARGS__)
 
#define LOG_RIOT_DEBUG(...)   LOG(LOG_DEBUG, __VA_ARGS__)
 

Macro Definition Documentation

◆ LOG

#define LOG (   level,
  ... 
)
Value:
do { \
if ((level) <= LOG_LEVEL) log_write((level), __VA_ARGS__); } while (0U)
#define LOG_LEVEL
Default log level define.
Definition openwsn_log.h:62
#define log_write(level,...)
Default log_write function, just maps to printf.
Definition openwsn_log.h:92

Log message if level <= LOG_LEVEL.

Definition at line 75 of file openwsn_log.h.

◆ LOG_LEVEL

#define LOG_LEVEL   LOG_INFO

Default log level define.

Definition at line 62 of file openwsn_log.h.

◆ LOG_RIOT_DEBUG

#define LOG_RIOT_DEBUG (   ...)    LOG(LOG_DEBUG, __VA_ARGS__)

Definition at line 86 of file openwsn_log.h.

◆ LOG_RIOT_ERROR

#define LOG_RIOT_ERROR (   ...)    LOG(LOG_ERROR, __VA_ARGS__)

Definition at line 83 of file openwsn_log.h.

◆ LOG_RIOT_INFO

#define LOG_RIOT_INFO (   ...)    LOG(LOG_INFO, __VA_ARGS__)

Definition at line 85 of file openwsn_log.h.

◆ LOG_RIOT_WARNING

#define LOG_RIOT_WARNING (   ...)    LOG(LOG_WARNING, __VA_ARGS__)

Definition at line 84 of file openwsn_log.h.

◆ log_write

#define log_write (   level,
  ... 
)    printf(__VA_ARGS__)

Default log_write function, just maps to printf.

Definition at line 92 of file openwsn_log.h.

Enumeration Type Documentation

◆ anonymous enum

anonymous enum

defined log levels

These are the logging levels a user can choose. The idea is to set LOG_LEVEL to one of these values in the application's Makefile. That will restrict output of log statements to those with equal or lower log level.

The default log level is LOG_INFO, which will print every message.

The log function calls of filtered messages will be optimized out at compile time, so a lower log level might result in smaller code size.

Enumerator
LOG_NONE 

Lowest log level, will output nothing.

LOG_ERROR 

Error log level, will print only critical, non-recoverable errors like hardware initialization failures.

LOG_WARNING 

Warning log level, will print warning messages for temporary errors.

LOG_INFO 

Informational log level, will print purely informational messages like successful system bootup, network link state, ...

LOG_DEBUG 

Debug log level, printing developer stuff considered too verbose for production use.

LOG_ALL 

print everything

Definition at line 43 of file openwsn_log.h.