reporter: Add report class for filesystem access logs
This commit is contained in:
		| @@ -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; | ||||||
|   | |||||||
| @@ -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: | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user