diff options
author | bunnei <bunneidev@gmail.com> | 2021-01-12 22:16:57 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-01-12 22:16:57 -0800 |
commit | 0fb19e9bef3afe45131c99b30e46ab9f9611a4f1 (patch) | |
tree | 84053cfbc6634118b5e0b7ec3e34031e8c339b45 /src/common/logging/backend.cpp | |
parent | de1a3163698d8395a9b0722d39c31d1dc024ee68 (diff) | |
parent | beb951770a920fce5d993c024402146aa0c92c34 (diff) |
Merge pull request #5280 from FearlessTobi/port-5666
Port citra-emu/citra#5666: "Rotate previous log file to "citra_log.txt.old""
Diffstat (limited to 'src/common/logging/backend.cpp')
-rw-r--r-- | src/common/logging/backend.cpp | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/src/common/logging/backend.cpp b/src/common/logging/backend.cpp index 631f64d05..2d4d2e9e7 100644 --- a/src/common/logging/backend.cpp +++ b/src/common/logging/backend.cpp @@ -145,10 +145,18 @@ void ColorConsoleBackend::Write(const Entry& entry) { PrintColoredMessage(entry); } -// _SH_DENYWR allows read only access to the file for other programs. -// It is #defined to 0 on other platforms -FileBackend::FileBackend(const std::string& filename) - : file(filename, "w", _SH_DENYWR), bytes_written(0) {} +FileBackend::FileBackend(const std::string& filename) : bytes_written(0) { + if (Common::FS::Exists(filename + ".old.txt")) { + Common::FS::Delete(filename + ".old.txt"); + } + if (Common::FS::Exists(filename)) { + Common::FS::Rename(filename, filename + ".old.txt"); + } + + // _SH_DENYWR allows read only access to the file for other programs. + // It is #defined to 0 on other platforms + file = Common::FS::IOFile(filename, "w", _SH_DENYWR); +} void FileBackend::Write(const Entry& entry) { // prevent logs from going over the maximum size (in case its spamming and the user doesn't |