|
|
@@ -92,7 +92,11 @@ private:
|
|
|
|
|
|
// Parse out log metadata
|
|
|
u32 line{};
|
|
|
- std::string message, filename, function;
|
|
|
+ std::string module;
|
|
|
+ std::string message;
|
|
|
+ std::string filename;
|
|
|
+ std::string function;
|
|
|
+ std::string thread;
|
|
|
while (addr < end_addr) {
|
|
|
const Field field{static_cast<Field>(Memory::Read8(addr++))};
|
|
|
const size_t length{Memory::Read8(addr++)};
|
|
|
@@ -102,6 +106,8 @@ private:
|
|
|
}
|
|
|
|
|
|
switch (field) {
|
|
|
+ case Field::Skip:
|
|
|
+ break;
|
|
|
case Field::Message:
|
|
|
message = Memory::ReadCString(addr, length);
|
|
|
break;
|
|
|
@@ -114,6 +120,12 @@ private:
|
|
|
case Field::Function:
|
|
|
function = Memory::ReadCString(addr, length);
|
|
|
break;
|
|
|
+ case Field::Module:
|
|
|
+ module = Memory::ReadCString(addr, length);
|
|
|
+ break;
|
|
|
+ case Field::Thread:
|
|
|
+ thread = Memory::ReadCString(addr, length);
|
|
|
+ break;
|
|
|
}
|
|
|
|
|
|
addr += length;
|
|
|
@@ -128,12 +140,18 @@ private:
|
|
|
if (!filename.empty()) {
|
|
|
log_stream << filename << ':';
|
|
|
}
|
|
|
+ if (!module.empty()) {
|
|
|
+ log_stream << module << ':';
|
|
|
+ }
|
|
|
if (!function.empty()) {
|
|
|
log_stream << function << ':';
|
|
|
}
|
|
|
if (line) {
|
|
|
log_stream << std::to_string(line) << ':';
|
|
|
}
|
|
|
+ if (!thread.empty()) {
|
|
|
+ log_stream << thread << ':';
|
|
|
+ }
|
|
|
if (log_stream.str().length() > 0 && log_stream.str().back() == ':') {
|
|
|
log_stream << ' ';
|
|
|
}
|