Skip to content

Commit b450bcf

Browse files
committed
Add Log Level to printed messages
1 parent 95fab1b commit b450bcf

File tree

2 files changed

+37
-13
lines changed

2 files changed

+37
-13
lines changed

src/AudioConfig.h

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -76,12 +76,11 @@
7676
#define LOG_STREAM Serial
7777

7878
// Logging Implementation
79-
#define __FILENAME__ (strrchr(__FILE__, '/') ? strrchr(__FILE__, '/') + 1 : __FILE__)
8079
#ifdef USE_LOGGING
81-
#define LOGD(...) AudioLogger::instance().printLog(__FILENAME__,__LINE__, AudioLogger::Debug, __VA_ARGS__)
82-
#define LOGI(...) AudioLogger::instance().printLog(__FILENAME__,__LINE__, AudioLogger::Info, __VA_ARGS__)
83-
#define LOGW(...) AudioLogger::instance().printLog(__FILENAME__,__LINE__, AudioLogger::Warning, __VA_ARGS__)
84-
#define LOGE(...) AudioLogger::instance().printLog(__FILENAME__,__LINE__, AudioLogger::Error, __VA_ARGS__)
80+
#define LOGD(...) AudioLogger::instance().printLog(__FILE__,__LINE__, AudioLogger::Debug, __VA_ARGS__)
81+
#define LOGI(...) AudioLogger::instance().printLog(__FILE__,__LINE__, AudioLogger::Info, __VA_ARGS__)
82+
#define LOGW(...) AudioLogger::instance().printLog(__FILE__,__LINE__, AudioLogger::Warning, __VA_ARGS__)
83+
#define LOGE(...) AudioLogger::instance().printLog(__FILE__,__LINE__, AudioLogger::Error, __VA_ARGS__)
8584
#else
8685
#define LOGD(...)
8786
#define LOGI(...)

src/AudioTools/AudioLogger.h

Lines changed: 33 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -86,21 +86,19 @@ class AudioLogger {
8686
int printLog(const char* file, int line, LogLevel current_level, const char* fmt, ...) const {
8787
char serial_printf_buffer[PRINTF_BUFFER_SIZE] = {0};
8888
int len = 0;
89-
va_list args;
9089

9190
if (this->active && log_stream_ptr!=nullptr && current_level >= log_level){
92-
93-
len+=log_stream_ptr->print(file);
94-
len+=log_stream_ptr->print(" ");
95-
len+=log_stream_ptr->print(line);
96-
len+=log_stream_ptr->print(": ");
97-
91+
// content
9892
char serial_printf_buffer[PRINTF_BUFFER_SIZE] = {0};
93+
// prefix
94+
len += printPrefix(file, line, current_level);
95+
96+
va_list args;
9997
va_start(args,fmt);
10098
len += vsnprintf(serial_printf_buffer,PRINTF_BUFFER_SIZE, fmt, args);
10199
log_stream_ptr->print(serial_printf_buffer);
102100
va_end(args);
103-
101+
// newline
104102
len += log_stream_ptr->println();
105103
}
106104
return len;
@@ -125,6 +123,33 @@ class AudioLogger {
125123
AudioLogger(){
126124
}
127125

126+
const char* levelName(LogLevel level) const {
127+
switch(level){
128+
case Debug:
129+
return "D";
130+
case Info:
131+
return "I";
132+
case Warning:
133+
return "W";
134+
case Error:
135+
return "E";
136+
}
137+
return "";
138+
}
139+
140+
int printPrefix(const char* file, int line, LogLevel current_level) const {
141+
const char* file_name = strrchr(file, '/') ? strrchr(file, '/') + 1 : file;
142+
const char* level_code = levelName(current_level);
143+
int len = log_stream_ptr->print("[");
144+
len += log_stream_ptr->print(level_code);
145+
len += log_stream_ptr->print("] ");
146+
len += log_stream_ptr->print(file_name);
147+
len += log_stream_ptr->print(" : ");
148+
len += log_stream_ptr->print(line);
149+
len += log_stream_ptr->print(" - ");
150+
return len;
151+
}
152+
128153
};
129154

130155
}

0 commit comments

Comments
 (0)