@@ -86,21 +86,19 @@ class AudioLogger {
86
86
int printLog (const char * file, int line, LogLevel current_level, const char * fmt, ...) const {
87
87
char serial_printf_buffer[PRINTF_BUFFER_SIZE] = {0 };
88
88
int len = 0 ;
89
- va_list args;
90
89
91
90
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
98
92
char serial_printf_buffer[PRINTF_BUFFER_SIZE] = {0 };
93
+ // prefix
94
+ len += printPrefix (file, line, current_level);
95
+
96
+ va_list args;
99
97
va_start (args,fmt);
100
98
len += vsnprintf (serial_printf_buffer,PRINTF_BUFFER_SIZE, fmt, args);
101
99
log_stream_ptr->print (serial_printf_buffer);
102
100
va_end (args);
103
-
101
+ // newline
104
102
len += log_stream_ptr->println ();
105
103
}
106
104
return len;
@@ -125,6 +123,33 @@ class AudioLogger {
125
123
AudioLogger (){
126
124
}
127
125
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
+
128
153
};
129
154
130
155
}
0 commit comments