4#if defined(ARDUINO) && !defined(IS_MIN_DESKTOP)
64#if defined(IS_DESKTOP) || defined(IS_DESKTOP_WITH_TIME_ONLY)
93 unsigned char val =
c;
120 const char* file_name =
strrchr(file,
'/') ?
strrchr(file,
'/') + 1 : file;
142 void set(AudioLogger::LogLevel level) {
144 original = AudioLogger::instance().level();
157 AudioLogger::instance().begin(
Serial, original);
163 AudioLogger::LogLevel original;
164 AudioLogger::LogLevel
actual;
174#define LOG_OUT_PGMEM(level, fmt, ...) \
176 LockGuard guard{audio_logger_mutex}; \
177 AudioLogger::instance().prefix(__FILE__, __LINE__, level); \
178 snprintf(AudioLogger::instance().str(), LOG_PRINTF_BUFFER_SIZE, PSTR(fmt), \
180 AudioLogger::instance().println(); \
183#define LOG_OUT(level, fmt, ...) \
185 LockGuard guard{audio_logger_mutex}; \
186 AudioLogger::instance().prefix(__FILE__, __LINE__, level); \
187 snprintf(AudioLogger::instance().str(), LOG_PRINTF_BUFFER_SIZE, fmt, \
189 AudioLogger::instance().println(); \
191#define LOG_MIN(level) \
193 LockGuard guard{audio_logger_mutex}; \
194 AudioLogger::instance().prefix(__FILE__, __LINE__, level); \
195 AudioLogger::instance().println(); \
199#define LOGD(fmt, ...) \
200 if (AudioLogger::instance().level() <= AudioLogger::Debug) { \
201 LOG_MIN(AudioLogger::Debug); \
203#define LOGI(fmt, ...) \
204 if (AudioLogger::instance().level() <= AudioLogger::Info) { \
205 LOG_MIN(AudioLogger::Info); \
207#define LOGW(fmt, ...) \
208 if (AudioLogger::instance().level() <= AudioLogger::Warning) { \
209 LOG_MIN(AudioLogger::Warning); \
211#define LOGE(fmt, ...) \
212 if (AudioLogger::instance().level() <= AudioLogger::Error) { \
213 LOG_MIN(AudioLogger::Error); \
217#define LOGD(fmt, ...) \
218 if (AudioLogger::instance().level() <= AudioLogger::Debug) { \
219 LOG_OUT_PGMEM(AudioLogger::Debug, fmt, ##__VA_ARGS__); \
221#define LOGI(fmt, ...) \
222 if (AudioLogger::instance().level() <= AudioLogger::Info) { \
223 LOG_OUT_PGMEM(AudioLogger::Info, fmt, ##__VA_ARGS__); \
225#define LOGW(fmt, ...) \
226 if (AudioLogger::instance().level() <= AudioLogger::Warning) { \
227 LOG_OUT_PGMEM(AudioLogger::Warning, fmt, ##__VA_ARGS__); \
229#define LOGE(fmt, ...) \
230 if (AudioLogger::instance().level() <= AudioLogger::Error) { \
231 LOG_OUT_PGMEM(AudioLogger::Error, fmt, ##__VA_ARGS__); \
236#if defined(NO_TRACED) || defined(NO_TRACE)
240 if (AudioLogger::instance().level() <= AudioLogger::Debug) { \
241 LOG_OUT(AudioLogger::Debug, LOG_METHOD); \
245#if defined(NO_TRACEI) || defined(NO_TRACE)
249 if (AudioLogger::instance().level() <= AudioLogger::Info) { \
250 LOG_OUT(AudioLogger::Info, LOG_METHOD); \
254#if defined(NO_TRACEW) || defined(NO_TRACE)
258 if (AudioLogger::instance().level() <= AudioLogger::Warning) { \
259 LOG_OUT(AudioLogger::Warning, LOG_METHOD); \
263#if defined(NO_TRACEE) || defined(NO_TRACE)
267 if (AudioLogger::instance().level() <= AudioLogger::Error) { \
268 LOG_OUT(AudioLogger::Error, LOG_METHOD); \
#define LOG_PRINTF_BUFFER_SIZE
Definition avr.h:25
constexpr const _Ep * begin(initializer_list< _Ep > __il) noexcept
Definition InitializerList.h:55