Skip to content

Commit af97298

Browse files
committed
implemented log levels
levels are: 0: no logs 1: errors only 2: errors and info logs (default) 3: debug logs
1 parent c87d600 commit af97298

File tree

1 file changed

+30
-4
lines changed

1 file changed

+30
-4
lines changed

src/homekit_debug.h

Lines changed: 30 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,29 +13,55 @@ extern "C" {
1313

1414
typedef unsigned char byte;
1515

16-
//#define HOMEKIT_DEBUG
16+
#define HOMEKIT_NO_LOG 0
17+
#define HOMEKIT_LOG_ERROR 1
18+
#define HOMEKIT_LOG_INFO 2
19+
#define HOMEKIT_LOG_DEBUG 3
20+
21+
#ifndef HOMEKIT_LOG_LEVEL
22+
#define HOMEKIT_LOG_LEVEL HOMEKIT_LOG_INFO
23+
#endif
1724

1825
#define HOMEKIT_PRINTF XPGM_PRINTF
1926

20-
#ifdef HOMEKIT_DEBUG
27+
#if HOMEKIT_LOG_LEVEL >= HOMEKIT_LOG_DEBUG
2128

2229
#define DEBUG(message, ...) HOMEKIT_PRINTF(">>> %s: " message "\n", __func__, ##__VA_ARGS__)
2330
static uint32_t start_time = 0;
2431
#define DEBUG_TIME_BEGIN() start_time=millis();
2532
#define DEBUG_TIME_END(func_name) HOMEKIT_PRINTF("### [%7d] %s took %6dms\n", millis(), func_name, (millis() - start_time));
33+
#define DEBUG_HEAP() DEBUG("Free heap: %d", system_get_free_heap_size());
2634

2735
#else
2836

2937
#define DEBUG(message, ...)
3038
#define DEBUG_TIME_BEGIN()
3139
#define DEBUG_TIME_END(func_name)
40+
#define DEBUG_HEAP()
3241

3342
#endif
3443

35-
#define INFO(message, ...) HOMEKIT_PRINTF(">>> [%7d] HomeKit: " message "\n", millis(), ##__VA_ARGS__)
44+
#if HOMEKIT_LOG_LEVEL >= HOMEKIT_LOG_ERROR
45+
3646
#define ERROR(message, ...) HOMEKIT_PRINTF("!!! [%7d] HomeKit: " message "\n", millis(), ##__VA_ARGS__)
47+
48+
#else
49+
50+
#define ERROR(message, ...)
51+
52+
#endif
53+
54+
#if HOMEKIT_LOG_LEVEL >= HOMEKIT_LOG_INFO
55+
56+
#define INFO(message, ...) HOMEKIT_PRINTF(">>> [%7d] HomeKit: " message "\n", millis(), ##__VA_ARGS__)
3757
#define INFO_HEAP() INFO("Free heap: %d", system_get_free_heap_size());
38-
#define DEBUG_HEAP() DEBUG("Free heap: %d", system_get_free_heap_size());
58+
59+
#else
60+
61+
#define INFO(message, ...)
62+
#define INFO_HEAP()
63+
64+
#endif
3965

4066
char *binary_to_string(const byte *data, size_t size);
4167
void print_binary(const char *prompt, const byte *data, size_t size);

0 commit comments

Comments
 (0)