Toggle navigation
Documentation
The friendly Operating System for the Internet of Things
Loading...
Searching...
No Matches
openwsn_log.h
Go to the documentation of this file.
1
/*
2
* SPDX-FileCopyrightText: 2015 Kaspar Schleiser <kaspar@schleiser.de>
3
* SPDX-License-Identifier: LGPL-2.1-only
4
*/
5
6
#pragma once
7
20
21
#include <stdio.h>
22
23
#ifdef __cplusplus
24
extern
"C"
{
25
#endif
26
39
enum
{
40
LOG_NONE
,
41
LOG_ERROR
,
44
LOG_WARNING
,
46
LOG_INFO
,
49
LOG_DEBUG
,
51
LOG_ALL
52
};
53
54
#ifndef LOG_LEVEL
58
#define LOG_LEVEL LOG_INFO
59
#endif
60
64
#ifdef __clang__
/* following pragmas required for clang 3.8.0 */
65
#define LOG(level, ...) do { \
66
_Pragma("clang diagnostic push") \
67
_Pragma("clang diagnostic ignored \"-Wtautological-compare\"") \
68
if ((level) <= LOG_LEVEL) { \
69
log_write((level), __VA_ARGS__); \
70
} \
71
} while (0U) \
72
_Pragma("clang diagnostic pop")
73
#else
74
#define LOG(level, ...) do { \
75
if ((level) <= LOG_LEVEL) { \
76
log_write((level), __VA_ARGS__); \
77
} \
78
} while (0U)
79
#endif
/* __clang__ */
80
85
#define LOG_RIOT_ERROR(...) LOG(LOG_ERROR, __VA_ARGS__)
86
#define LOG_RIOT_WARNING(...) LOG(LOG_WARNING, __VA_ARGS__)
87
#define LOG_RIOT_INFO(...) LOG(LOG_INFO, __VA_ARGS__)
88
#define LOG_RIOT_DEBUG(...) LOG(LOG_DEBUG, __VA_ARGS__)
90
94
#define log_write(level, ...) printf(__VA_ARGS__)
95
96
#ifdef __cplusplus
97
}
98
#endif
99
LOG_INFO
#define LOG_INFO(...)
for the curious
Definition
log.h:110
LOG_NONE
@ LOG_NONE
Lowest log level, will output nothing.
Definition
log.h:52
LOG_ALL
@ LOG_ALL
print everything
Definition
log.h:63
LOG_DEBUG
#define LOG_DEBUG(...)
Print a log message, if LOG_LEVEL is defined to be at least LOG_DEBUG
Definition
log.h:125
LOG_ERROR
#define LOG_ERROR(...)
log an error
Definition
log.h:108
LOG_WARNING
#define LOG_WARNING(...)
log a warning
Definition
log.h:109
Generated on Sat Oct 3 2026 14:10:59 by
1.13.2