|
8 | 8 | extern "C" { |
9 | 9 | #endif |
10 | 10 |
|
11 | | -#define LOG_APP_TYPE "M" |
12 | | -#define LOG_APP_NAME "buttoncombo_module" |
| 11 | +#define LOG_APP_TYPE "M" |
| 12 | +#define LOG_APP_NAME "buttoncombo_module" |
13 | 13 |
|
14 | | -#define __FILENAME_X__ (strrchr(__FILE__, '\\') ? strrchr(__FILE__, '\\') + 1 : __FILE__) |
15 | | -#define __FILENAME__ (strrchr(__FILE__, '/') ? strrchr(__FILE__, '/') + 1 : __FILENAME_X__) |
| 14 | +#define __FILENAME_X__ (strrchr(__FILE__, '\\') ? strrchr(__FILE__, '\\') + 1 : __FILE__) |
| 15 | +#define __FILENAME__ (strrchr(__FILE__, '/') ? strrchr(__FILE__, '/') + 1 : __FILENAME_X__) |
16 | 16 |
|
17 | | -#define LOG(LOG_FUNC, FMT, ARGS...) LOG_EX_DEFAULT(LOG_FUNC, "", "", FMT, ##ARGS) |
| 17 | +#define LOG(LOG_FUNC, FMT, ARGS...) LOG_EX_DEFAULT(LOG_FUNC, "", "", "", FMT, ##ARGS) |
18 | 18 |
|
19 | | -#define LOG_EX_DEFAULT(LOG_FUNC, LOG_LEVEL, LINE_END, FMT, ARGS...) LOG_EX(__FILENAME__, __FUNCTION__, __LINE__, LOG_FUNC, LOG_LEVEL, LINE_END, FMT, ##ARGS) |
| 19 | +#define CONSOLE_COLOR_RED "\033[31m" |
| 20 | +#define CONSOLE_COLOR_YELLOW "\033[33m" |
| 21 | +#define CONSOLE_COLOR_CYAN "\033[36m" |
| 22 | +#define CONSOLE_COLOR_RESET "\033[0m" |
20 | 23 |
|
21 | | -#define LOG_EX(FILENAME, FUNCTION, LINE, LOG_FUNC, LOG_LEVEL, LINE_END, FMT, ARGS...) \ |
22 | | - do { \ |
23 | | - LOG_FUNC("[(%s)%18s][%23s]%30s@L%04d: " LOG_LEVEL "" FMT "" LINE_END, LOG_APP_TYPE, LOG_APP_NAME, FILENAME, FUNCTION, LINE, ##ARGS); \ |
| 24 | +#define LOG_EX_DEFAULT(LOG_FUNC, LOG_COLOR, LOG_LEVEL, LINE_END, FMT, ARGS...) LOG_EX(__FILENAME__, __FUNCTION__, __LINE__, LOG_FUNC, LOG_COLOR, LOG_LEVEL, LINE_END, FMT, ##ARGS) |
| 25 | + |
| 26 | +#define LOG_EX(FILENAME, FUNCTION, LINE, LOG_FUNC, LOG_COLOR, LOG_LEVEL, LINE_END, FMT, ARGS...) \ |
| 27 | + do { \ |
| 28 | + LOG_FUNC(LOG_COLOR "[(%s)%18s][%23s]%30s@L%04d: " LOG_LEVEL "" FMT "" LINE_END, LOG_APP_TYPE, LOG_APP_NAME, FILENAME, FUNCTION, LINE, ##ARGS); \ |
24 | 29 | } while (0) |
25 | 30 |
|
26 | 31 | #ifdef DEBUG |
27 | 32 |
|
28 | 33 | #ifdef VERBOSE_DEBUG |
29 | 34 | #define DEBUG_FUNCTION_LINE_VERBOSE(FMT, ARGS...) LOG(WHBLogPrintf, FMT, ##ARGS) |
30 | 35 | #define DEBUG_FUNCTION_LINE_VERBOSE_EX(FILENAME, FUNCTION, LINE, FMT, ARGS...) LOG_EX(FILENAME, FUNCTION, LINE, WHBLogPrintf, "", "", FMT, ##ARGS); |
31 | | -#define DEBUG_FUNCTION_LINE_LOADER_VERBOSE(FMT, ARGS...) LOG_EX_DEFAULT(((void (*)(const char *, ...))((uint32_t *) 0x010028d0)), "", "\n", FMT, ##ARGS) |
32 | 36 | #else |
33 | | -#define DEBUG_FUNCTION_LINE_VERBOSE(FMT, ARGS...) while (0) |
34 | | -#define DEBUG_FUNCTION_LINE_VERBOSE_EX(FMT, ARGS...) while (0) |
35 | | -#define DEBUG_FUNCTION_LINE_LOADER_VERBOSE(FMT, ARGS...) while (0) |
| 37 | +#define DEBUG_FUNCTION_LINE_VERBOSE(FMT, ARGS...) while (0) |
| 38 | +#define DEBUG_FUNCTION_LINE_VERBOSE_EX(FMT, ARGS...) while (0) |
36 | 39 | #endif |
37 | 40 |
|
38 | 41 | #define DEBUG_FUNCTION_LINE(FMT, ARGS...) LOG(WHBLogPrintf, FMT, ##ARGS) |
39 | 42 |
|
40 | 43 | #define DEBUG_FUNCTION_LINE_WRITE(FMT, ARGS...) LOG(WHBLogWritef, FMT, ##ARGS) |
41 | 44 |
|
42 | | -#define DEBUG_FUNCTION_LINE_WARN(FMT, ARGS...) LOG_EX_DEFAULT(WHBLogPrintf, "## WARN## ", "", FMT, ##ARGS) |
43 | | -#define DEBUG_FUNCTION_LINE_ERR(FMT, ARGS...) LOG_EX_DEFAULT(WHBLogPrintf, "##ERROR## ", "", FMT, ##ARGS) |
44 | | -#define DEBUG_FUNCTION_LINE_INFO(FMT, ARGS...) LOG_EX_DEFAULT(WHBLogPrintf, "## INFO## ", "", FMT, ##ARGS) |
| 45 | +#define DEBUG_FUNCTION_LINE_ERR(FMT, ARGS...) LOG_EX_DEFAULT(WHBLogPrintf, CONSOLE_COLOR_RED, "## ERROR## ", CONSOLE_COLOR_RESET, FMT, ##ARGS) |
| 46 | +#define DEBUG_FUNCTION_LINE_WARN(FMT, ARGS...) LOG_EX_DEFAULT(WHBLogPrintf, CONSOLE_COLOR_YELLOW, "##WARN ## ", CONSOLE_COLOR_RESET, FMT, ##ARGS) |
| 47 | +#define DEBUG_FUNCTION_LINE_INFO(FMT, ARGS...) LOG_EX_DEFAULT(WHBLogPrintf, CONSOLE_COLOR_CYAN, "##INFO ## ", CONSOLE_COLOR_RESET, FMT, ##ARGS) |
45 | 48 |
|
46 | | -#define DEBUG_FUNCTION_LINE_ERR_LAMBDA(FILENAME, FUNCTION, LINE, FMT, ARGS...) LOG_EX(FILENAME, FUNCTION, LINE, WHBLogPrintf, "##ERROR## ", "", FMT, ##ARGS); |
| 49 | +#define DEBUG_FUNCTION_LINE_ERR_LAMBDA(FILENAME, FUNCTION, LINE, FMT, ARGS...) LOG_EX(FILENAME, FUNCTION, LINE, WHBLogPrintf, CONSOLE_COLOR_RED, "##ERROR## ", CONSOLE_COLOR_RESET, FMT, ##ARGS); |
47 | 50 |
|
48 | 51 | #else |
49 | 52 |
|
50 | 53 | #define DEBUG_FUNCTION_LINE_VERBOSE_EX(FMT, ARGS...) while (0) |
51 | 54 |
|
52 | 55 | #define DEBUG_FUNCTION_LINE_VERBOSE(FMT, ARGS...) while (0) |
53 | 56 |
|
54 | | -#define DEBUG_FUNCTION_LINE_LOADER_VERBOSE(FMT, ARGS...) while (0) |
55 | | - |
56 | 57 | #define DEBUG_FUNCTION_LINE(FMT, ARGS...) while (0) |
57 | 58 |
|
58 | 59 | #define DEBUG_FUNCTION_LINE_WRITE(FMT, ARGS...) while (0) |
59 | 60 |
|
60 | | -#define DEBUG_FUNCTION_LINE_WARN(FMT, ARGS...) LOG_EX_DEFAULT(OSReport, "## WARN## ", "\n", FMT, ##ARGS) |
61 | | -#define DEBUG_FUNCTION_LINE_ERR(FMT, ARGS...) LOG_EX_DEFAULT(OSReport, "##ERROR## ", "\n", FMT, ##ARGS) |
62 | | -#define DEBUG_FUNCTION_LINE_INFO(FMT, ARGS...) LOG_EX_DEFAULT(OSReport, "## INFO## ", "\n", FMT, ##ARGS) |
| 61 | +#define DEBUG_FUNCTION_LINE_ERR(FMT, ARGS...) LOG_EX_DEFAULT(OSReport, CONSOLE_COLOR_RED, "##ERROR## ", CONSOLE_COLOR_RESET "\n", FMT, ##ARGS) |
| 62 | +#define DEBUG_FUNCTION_LINE_WARN(FMT, ARGS...) LOG_EX_DEFAULT(OSReport, CONSOLE_COLOR_YELLOW, "##WARN ## ", CONSOLE_COLOR_RESET "\n", FMT, ##ARGS) |
| 63 | +#define DEBUG_FUNCTION_LINE_INFO(FMT, ARGS...) LOG_EX_DEFAULT(OSReport, CONSOLE_COLOR_CYAN, "##INFO ## ", CONSOLE_COLOR_RESET "\n", FMT, ##ARGS) |
63 | 64 |
|
64 | | -#define DEBUG_FUNCTION_LINE_ERR_LAMBDA(FILENAME, FUNCTION, LINE, FMT, ARGS...) LOG_EX(FILENAME, FUNCTION, LINE, OSReport, "##ERROR## ", "\n", FMT, ##ARGS); |
| 65 | +#define DEBUG_FUNCTION_LINE_ERR_LAMBDA(FILENAME, FUNCTION, LINE, FMT, ARGS...) LOG_EX(FILENAME, FUNCTION, LINE, OSReport, CONSOLE_COLOR_RED, "##ERROR## ", CONSOLE_COLOR_RESET "\n", FMT, ##ARGS); |
65 | 66 |
|
66 | 67 | #endif |
67 | 68 |
|
68 | | -#define DEBUG_FUNCTION_LINE_LOADER_ERR(FMT, ARGS...) LOG_EX_DEFAULT(((void (*)(const char *, ...))((uint32_t *) 0x010028d0)), "##ERROR## ", "\n", FMT, ##ARGS) |
69 | | - |
70 | 69 | void initLogging(); |
71 | 70 |
|
72 | 71 | void deinitLogging(); |
|
0 commit comments