1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 16:28:11 +00:00

LogStream: Prefix userspace dbg() output with "ProcessName(PID): "

Using the new get_process_name() syscall, we can automatically prefix
all userspace debug logging.

Hopefully this is more helpful than annoying. We'll find out! :^)
This commit is contained in:
Andreas Kling 2019-08-15 20:55:45 +02:00
parent 6ad3efe067
commit 5122caf9a8
2 changed files with 28 additions and 9 deletions

View file

@ -49,4 +49,25 @@ const LogStream& operator<<(const LogStream& stream, const TStyle& style)
return stream;
}
#ifdef USERLAND
static TriState got_process_name = TriState::Unknown;
static char process_name_buffer[256];
#endif
DebugLogStream dbg()
{
DebugLogStream stream;
#ifdef USERLAND
if (got_process_name == TriState::Unknown) {
if (get_process_name(process_name_buffer, sizeof(process_name_buffer)) == 0)
got_process_name = TriState::True;
else
got_process_name = TriState::False;
}
if (got_process_name == TriState::True)
stream << TStyle(TStyle::Color::Brown, TStyle::Attribute::Bold) << process_name_buffer << '(' << getpid() << ")" << TStyle(TStyle::None) << ": ";
#endif
return stream;
}
}