1 // Part of Measurement Kit <https://measurement-kit.github.io/>.
2 // Measurement Kit is free software under the BSD license. See AUTHORS
3 // and LICENSE for more information on the copying conditions.
4 #ifndef MEASUREMENT_KIT_COMMON_LOGGER_HPP
5 #define MEASUREMENT_KIT_COMMON_LOGGER_HPP
6 
7 // The numbers [0-31] are reserved for verbosity levels.
8 
9 /// `MK_LOG_QUIET` indicates that no log should be emitted.
10 #define MK_LOG_QUIET 0
11 
12 /// `MK_LOG_ERR` indicates the `ERR` log severity level.
13 #define MK_LOG_ERR 1
14 
15 /// `MK_LOG_WARNING` indicates the `WARNING` log severity level.
16 #define MK_LOG_WARNING 2
17 
18 /// `MK_LOG_INFO` indicates the `INFO` log severity level.
19 #define MK_LOG_INFO 3
20 
21 /// `MK_LOG_DEBUG` indicates the `DEBUG` log severity level.
22 #define MK_LOG_DEBUG 4
23 
24 /// `MK_LOG_DEBUG2` indicates the `DEBUG2` log severity level.
25 #define MK_LOG_DEBUG2 5
26 
27 /// \brief `MK_LOG_VERBOSITY_MASK` is a bitmask indicating which bits
28 /// are being used to specify the severity level. Bits above such mask
29 /// have another semantic.
30 #define MK_LOG_VERBOSITY_MASK 31
31 
32 // The number above 31 have different semantics:
33 
34 /// \brief `MK_LOG_EVENT` indicates an event. It is a bit outside of the
35 /// verbosity mask. This is used to indicate that the current log message
36 /// is not plaintext but rather a serialized JSON representing an event.
37 #define MK_LOG_EVENT 32
38 
39 #endif  // MEASUREMENT_KIT_COMMON_LOGGER_HPP
40