Go to the documentation of this file.
25 #define CH_LOG_LEVEL_TRACE 0
26 #define CH_LOG_LEVEL_DEBUG 1
27 #define CH_LOG_LEVEL_INFO 2
28 #define CH_LOG_LEVEL_WARNING 3
29 #define CH_LOG_LEVEL_ERROR 4
30 #define CH_LOG_LEVEL_APP 5
31 #define CH_LOG_LEVEL_DISABLE 6
33 #ifndef CH_LOG_MODULE_LEVEL
34 #define CH_LOG_MODULE_LEVEL CH_LOG_LEVEL_ERROR
37 #ifndef CH_LOG_BUFFER_SIZE
39 #define CH_LOG_BUFFER_SIZE (200)
42 #define IS_CH_LOG_USED (CH_LOG_MODULE_LEVEL < CH_LOG_LEVEL_DISABLE)
43 #define IS_CH_LOG_LEVEL_USED(level) (level >= CH_LOG_MODULE_LEVEL)
45 #if (CH_LOG_MODULE_LEVEL <= CH_LOG_LEVEL_TRACE)
46 #define CH_LOG_TRACE(...) ch_log_prefix_printf('T', CH_LOG_MODULE_NAME, __func__, __VA_ARGS__)
47 #define CH_LOG_TRACE_START(...) ch_log_prefix_start('T', CH_LOG_MODULE_NAME, __func__, __VA_ARGS__)
48 #define CH_LOG_TRACE_MSG(...) ch_log_msg(__VA_ARGS__)
49 #define CH_LOG_TRACE_END() ch_log_end()
51 #define CH_LOG_TRACE(...)
52 #define CH_LOG_TRACE_START(...)
53 #define CH_LOG_TRACE_MSG(...)
54 #define CH_LOG_TRACE_END()
57 #if (CH_LOG_MODULE_LEVEL <= CH_LOG_LEVEL_DEBUG)
58 #define CH_LOG_DEBUG(...) ch_log_prefix_printf('D', CH_LOG_MODULE_NAME, __func__, __VA_ARGS__)
59 #define CH_LOG_DEBUG_START(...) ch_log_prefix_start('D', CH_LOG_MODULE_NAME, __func__, __VA_ARGS__)
60 #define CH_LOG_DEBUG_MSG(...) ch_log_msg(__VA_ARGS__)
61 #define CH_LOG_DEBUG_END() ch_log_end()
63 #define CH_LOG_DEBUG(...)
64 #define CH_LOG_DEBUG_START(...)
65 #define CH_LOG_DEBUG_MSG(...)
66 #define CH_LOG_DEBUG_END()
69 #if (CH_LOG_MODULE_LEVEL <= CH_LOG_LEVEL_INFO)
70 #define CH_LOG_INFO(...) ch_log_prefix_printf('I', CH_LOG_MODULE_NAME, __func__, __VA_ARGS__)
71 #define CH_LOG_INFO_START(...) ch_log_prefix_start('I', CH_LOG_MODULE_NAME, __func__, __VA_ARGS__)
72 #define CH_LOG_INFO_MSG(...) ch_log_msg(__VA_ARGS__)
73 #define CH_LOG_INFO_END() ch_log_end()
75 #define CH_LOG_INFO(...)
76 #define CH_LOG_INFO_START(...)
77 #define CH_LOG_INFO_MSG(...)
78 #define CH_LOG_INFO_END()
81 #if (CH_LOG_MODULE_LEVEL <= CH_LOG_LEVEL_WARNING)
82 #define CH_LOG_WARN(...) ch_log_prefix_printf('W', CH_LOG_MODULE_NAME, __func__, __VA_ARGS__)
83 #define CH_LOG_WARN_START(...) ch_log_prefix_start('W', CH_LOG_MODULE_NAME, __func__, __VA_ARGS__)
84 #define CH_LOG_WARN_MSG(...) ch_log_msg(__VA_ARGS__)
85 #define CH_LOG_WARN_END() ch_log_end()
87 #define CH_LOG_WARN(...)
88 #define CH_LOG_WARN_START(...)
89 #define CH_LOG_WARN_MSG(...)
90 #define CH_LOG_WARN_END()
93 #if (CH_LOG_MODULE_LEVEL <= CH_LOG_LEVEL_ERROR)
94 #define CH_LOG_ERR(...) ch_log_prefix_printf('E', CH_LOG_MODULE_NAME, __func__, __VA_ARGS__)
95 #define CH_LOG_ERR_START(...) ch_log_prefix_start('E', CH_LOG_MODULE_NAME, __func__, __VA_ARGS__)
96 #define CH_LOG_ERR_MSG(...) ch_log_msg(__VA_ARGS__)
97 #define CH_LOG_ERR_END() ch_log_end()
99 #define CH_LOG_ERR(...)
100 #define CH_LOG_ERR_START(...)
101 #define CH_LOG_ERR_MSG(...)
102 #define CH_LOG_ERR_END()
105 #if (CH_LOG_MODULE_LEVEL <= CH_LOG_LEVEL_APP)
106 #define CH_LOG_APP(...) ch_log_printf_eol(__VA_ARGS__)
107 #define CH_LOG_APP_START(...) ch_log_start(__VA_ARGS__)
108 #define CH_LOG_APP_MSG(...) ch_log_msg(__VA_ARGS__)
109 #define CH_LOG_APP_END() ch_log_end()
111 #define CH_LOG_APP(...)
112 #define CH_LOG_APP_START(...)
113 #define CH_LOG_APP_MSG(...)
114 #define CH_LOG_APP_END()
117 void ch_log_printf(
const char *format, ...);
118 void ch_log_printf_eol(
const char *format, ...);
119 void ch_log_prefix_printf(
const char level,
const char *name,
const char *func_name,
const char *format, ...);
120 void ch_log_prefix_start(
const char level,
const char *name,
const char *func_name,
const char *format, ...);
121 void ch_log_start(
const char *format, ...);
122 void ch_log_msg(
const char *format, ...);
123 void ch_log_end(
void);