reporter: Add report class for filesystem access logs

This commit is contained in:
Zach Hilman 2019-06-28 21:02:50 -04:00
parent db2fdd0352
commit 554e2f2f98
2 changed files with 25 additions and 0 deletions

View file

@ -335,6 +335,24 @@ void Reporter::SaveErrorReport(u64 title_id, ResultCode result,
SaveToFile(std::move(out), GetPath("error_report", title_id, timestamp)); SaveToFile(std::move(out), GetPath("error_report", title_id, timestamp));
} }
void Reporter::SaveFilesystemAccessReport(Service::FileSystem::LogMode log_mode,
std::string log_message) const {
if (!IsReportingEnabled())
return;
const auto timestamp = GetTimestamp();
const auto title_id = system.CurrentProcess()->GetTitleID();
json out;
out["yuzu_version"] = GetYuzuVersionData();
out["report_common"] = GetReportCommonData(title_id, RESULT_SUCCESS, timestamp);
out["log_mode"] = fmt::format("{:08X}", static_cast<u32>(log_mode));
out["log_message"] = std::move(log_message);
SaveToFile(std::move(out), GetPath("filesystem_access_report", title_id, timestamp));
}
void Reporter::SaveUserReport() const { void Reporter::SaveUserReport() const {
if (!IsReportingEnabled()) if (!IsReportingEnabled())
return; return;

View file

@ -14,6 +14,10 @@ namespace Kernel {
class HLERequestContext; class HLERequestContext;
} // namespace Kernel } // namespace Kernel
namespace Service::FileSystem {
enum class LogMode : u32;
}
namespace Core { namespace Core {
class Reporter { class Reporter {
@ -45,6 +49,9 @@ public:
std::optional<std::string> custom_text_main = {}, std::optional<std::string> custom_text_main = {},
std::optional<std::string> custom_text_detail = {}) const; std::optional<std::string> custom_text_detail = {}) const;
void SaveFilesystemAccessReport(Service::FileSystem::LogMode log_mode,
std::string log_message) const;
void SaveUserReport() const; void SaveUserReport() const;
private: private: