diff options
| -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 | 
