Log.h
3.34 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
/*
* Copyright (c) TrueBrain
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
#pragma once
// Wrappers to make logging a tiny bit easier to read.
// The "obj" is the TrueMQTT::Client::Impl instance to point to.
#define LOGGER_LEVEL_ERROR 0
#define LOGGER_LEVEL_WARNING 1
#define LOGGER_LEVEL_INFO 2
#define LOGGER_LEVEL_DEBUG 3
#define LOGGER_LEVEL_TRACE 4
// If no longer is defined, assume DEBUG level.
#ifndef MIN_LOGGER_LEVEL
#define MIN_LOGGER_LEVEL LOGGER_LEVEL_DEBUG
#endif
#if MIN_LOGGER_LEVEL >= LOGGER_LEVEL_ERROR
#define LOG_ERROR(obj, x) \
do \
{ \
if (obj->log_level >= TrueMQTT::Client::LogLevel::ERROR) \
{ \
obj->logger(TrueMQTT::Client::LogLevel::ERROR, x); \
} \
} while (0)
#else
#define LOG_ERROR(obj, x)
#endif
#if MIN_LOGGER_LEVEL >= LOGGER_LEVEL_WARNING
#define LOG_WARNING(obj, x) \
do \
{ \
if (obj->log_level >= TrueMQTT::Client::LogLevel::WARNING) \
{ \
obj->logger(TrueMQTT::Client::LogLevel::WARNING, x); \
} \
} while (0)
#else
#define LOG_WARNING(obj, x)
#endif
#if MIN_LOGGER_LEVEL >= LOGGER_LEVEL_INFO
#define LOG_INFO(obj, x) \
do \
{ \
if (obj->log_level >= TrueMQTT::Client::LogLevel::INFO) \
{ \
obj->logger(TrueMQTT::Client::LogLevel::INFO, x); \
} \
} while (0)
#else
#define LOG_INFO(obj, x)
#endif
#if MIN_LOGGER_LEVEL >= LOGGER_LEVEL_DEBUG
#define LOG_DEBUG(obj, x) \
do \
{ \
if (obj->log_level >= TrueMQTT::Client::LogLevel::DEBUG) \
{ \
obj->logger(TrueMQTT::Client::LogLevel::DEBUG, x); \
} \
} while (0)
#else
#define LOG_DEBUG(obj, x)
#endif
#if MIN_LOGGER_LEVEL >= LOGGER_LEVEL_TRACE
#define LOG_TRACE(obj, x) \
do \
{ \
if (obj->log_level >= TrueMQTT::Client::LogLevel::TRACE) \
{ \
obj->logger(TrueMQTT::Client::LogLevel::TRACE, x); \
} \
} while (0)
#else
#define LOG_TRACE(obj, x)
#endif