summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGravatar Zach Hilman2019-06-28 21:02:50 -0400
committerGravatar Zach Hilman2019-06-28 21:02:50 -0400
commit554e2f2f983824bee174465c79b9ad3c27e8208f (patch)
tree0ab536c5287b8715928991ccf38c3963b25a564f /src
parentfsp-srv: Implement OutputAccessLogToSdCard (diff)
downloadyuzu-554e2f2f983824bee174465c79b9ad3c27e8208f.tar.gz
yuzu-554e2f2f983824bee174465c79b9ad3c27e8208f.tar.xz
yuzu-554e2f2f983824bee174465c79b9ad3c27e8208f.zip
reporter: Add report class for filesystem access logs
Diffstat (limited to 'src')
-rw-r--r--src/core/reporter.cpp18
-rw-r--r--src/core/reporter.h7
2 files changed, 25 insertions, 0 deletions
diff --git a/src/core/reporter.cpp b/src/core/reporter.cpp
index 774022569..059467318 100644
--- a/src/core/reporter.cpp
+++ b/src/core/reporter.cpp
@@ -335,6 +335,24 @@ void Reporter::SaveErrorReport(u64 title_id, ResultCode result,
335 SaveToFile(std::move(out), GetPath("error_report", title_id, timestamp)); 335 SaveToFile(std::move(out), GetPath("error_report", title_id, timestamp));
336} 336}
337 337
338void Reporter::SaveFilesystemAccessReport(Service::FileSystem::LogMode log_mode,
339 std::string log_message) const {
340 if (!IsReportingEnabled())
341 return;
342
343 const auto timestamp = GetTimestamp();
344 const auto title_id = system.CurrentProcess()->GetTitleID();
345 json out;
346
347 out["yuzu_version"] = GetYuzuVersionData();
348 out["report_common"] = GetReportCommonData(title_id, RESULT_SUCCESS, timestamp);
349
350 out["log_mode"] = fmt::format("{:08X}", static_cast<u32>(log_mode));
351 out["log_message"] = std::move(log_message);
352
353 SaveToFile(std::move(out), GetPath("filesystem_access_report", title_id, timestamp));
354}
355
338void Reporter::SaveUserReport() const { 356void Reporter::SaveUserReport() const {
339 if (!IsReportingEnabled()) 357 if (!IsReportingEnabled())
340 return; 358 return;
diff --git a/src/core/reporter.h b/src/core/reporter.h
index 3de19c0f7..ba95c369e 100644
--- a/src/core/reporter.h
+++ b/src/core/reporter.h
@@ -14,6 +14,10 @@ namespace Kernel {
14class HLERequestContext; 14class HLERequestContext;
15} // namespace Kernel 15} // namespace Kernel
16 16
17namespace Service::FileSystem {
18enum class LogMode : u32;
19}
20
17namespace Core { 21namespace Core {
18 22
19class Reporter { 23class Reporter {
@@ -45,6 +49,9 @@ public:
45 std::optional<std::string> custom_text_main = {}, 49 std::optional<std::string> custom_text_main = {},
46 std::optional<std::string> custom_text_detail = {}) const; 50 std::optional<std::string> custom_text_detail = {}) const;
47 51
52 void SaveFilesystemAccessReport(Service::FileSystem::LogMode log_mode,
53 std::string log_message) const;
54
48 void SaveUserReport() const; 55 void SaveUserReport() const;
49 56
50private: 57private: