refactor writeLogEntry: dynamically allocate buffer for variable-length log messages

This commit is contained in:
HendrikRauh 2025-05-27 18:24:43 +02:00
parent 1c87abc48e
commit d520fc8dfa

View file

@ -13,11 +13,14 @@ void setupLogger()
void writeLogEntry(const log_level level, const log_tag tag, const char *message, ...)
{
char buffer[256];
va_list args;
va_start(args, message);
vsnprintf(buffer, sizeof(buffer), message, args);
int size = vsnprintf(nullptr, 0, message, args);
va_end(args);
char *buffer = new char[size + 1];
va_start(args, message);
vsnprintf(buffer, size + 1, message, args);
Serial.printf("[%d] [%d] \t %s\n", level, tag, buffer);
}
delete[] buffer;
}