aboutsummaryrefslogtreecommitdiff
path: root/src/common/logging/backend.cpp
diff options
context:
space:
mode:
authorxperia64 <xperiancedapps@gmail.com>2020-12-31 16:10:01 -0500
committerFearlessTobi <thm.frey@gmail.com>2021-01-03 01:44:42 +0100
commit1c775a3f6680a97da26c9faf741e6fadd61d1837 (patch)
treed1b80c2cafdf442c1fb325437cedd51a66fbc921 /src/common/logging/backend.cpp
parentc5156b4656424bd7d75dd33d602ba0d87d54627e (diff)
Rotate previous log file to '.old' if it exists
Diffstat (limited to 'src/common/logging/backend.cpp')
-rw-r--r--src/common/logging/backend.cpp13
1 files changed, 9 insertions, 4 deletions
diff --git a/src/common/logging/backend.cpp b/src/common/logging/backend.cpp
index 631f64d052..ebc807e00d 100644
--- a/src/common/logging/backend.cpp
+++ b/src/common/logging/backend.cpp
@@ -145,10 +145,15 @@ 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 (FileUtil::Exists(filename)) {
+ FileUtil::Rename(filename, filename + ".old");
+ }
+
+ // _SH_DENYWR allows read only access to the file for other programs.
+ // It is #defined to 0 on other platforms
+ file = FileUtil::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