diff --git a/src/logger.cpp b/src/logger.cpp index 6025a3b1ae30ed1e99cc1fc45012f9825e04d96c..0e811876ddace4bc978b0e032848688f90f3ac1a 100644 --- a/src/logger.cpp +++ b/src/logger.cpp @@ -201,10 +201,16 @@ vlogger(const int level, const char *format, va_list ap) SetConsoleTextAttribute(hConsole, color_header); #endif - auto sep = strchr(format, '|'); // must exist, check LOG_FORMAT - std::string ctx(format, sep - format); - format = sep + 2; - fputs(getHeader(ctx.c_str()).c_str(), stderr); + std::string ctx; + + // WARNING : the '|' exists only with ring logs, not other logs like thus from OpenDHT + // WARNING : PLEASE DO NOT DROP THIS TEST !!!! (or die) + auto sep = strchr(format, '|'); + if (sep) { + ctx = std::string(format, sep - format); + format = sep + 2; + fputs(getHeader(ctx.c_str()).c_str(), stderr); + } #ifdef RING_UWP char tmp[4096]; vsprintf(tmp, format, ap); @@ -220,6 +226,10 @@ vlogger(const int level, const char *format, va_list ap) vfprintf(stderr, format, ap); + // WARING: this one also! see above + if (not sep) + fputs(ENDL, stderr); + #ifndef _WIN32 fputs(END_COLOR, stderr); #elif !defined(RING_UWP)