Show logs in the debug window

Some part of UI code is written by @andrew-app
This commit is contained in:
Petr Mikheev 2022-05-08 22:43:30 +02:00
parent 5110c4a50e
commit cf49b46d64
10 changed files with 146 additions and 20 deletions

View file

@ -61,6 +61,9 @@ namespace Debug
}
#endif
static LogListener logListener;
void setLogListener(LogListener listener) { logListener = std::move(listener); }
std::streamsize DebugOutputBase::write(const char *str, std::streamsize size)
{
if (size <= 0)
@ -94,6 +97,8 @@ namespace Debug
lineSize++;
writeImpl(prefix, prefixSize, level);
writeImpl(msg.data(), lineSize, level);
if (logListener)
logListener(level, std::string_view(prefix, prefixSize), std::string_view(msg.data(), lineSize));
msg = msg.substr(lineSize);
}