From aaaca1cd6d1c4bb27e4fe3464293dcfffd8d886b Mon Sep 17 00:00:00 2001
From: Lioncash <mathew1800@gmail.com>
Date: Tue, 20 Apr 2021 12:53:02 -0400
Subject: [PATCH 1/2] log/backend: Make use of erase_if

Same behavior, but less verbose.
---
 src/common/logging/backend.cpp | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/src/common/logging/backend.cpp b/src/common/logging/backend.cpp
index bc82905c07..f0bb392c64 100644
--- a/src/common/logging/backend.cpp
+++ b/src/common/logging/backend.cpp
@@ -56,10 +56,10 @@ public:
 
     void RemoveBackend(std::string_view backend_name) {
         std::lock_guard lock{writing_mutex};
-        const auto it =
-            std::remove_if(backends.begin(), backends.end(),
-                           [&backend_name](const auto& i) { return backend_name == i->GetName(); });
-        backends.erase(it, backends.end());
+
+        std::erase_if(backends, [&backend_name](const auto& backend) {
+            return backend_name == backend->GetName();
+        });
     }
 
     const Filter& GetGlobalFilter() const {

From 6125590a7b2bbad7d5efdfbab69ba86601e0769b Mon Sep 17 00:00:00 2001
From: Lioncash <mathew1800@gmail.com>
Date: Tue, 20 Apr 2021 12:57:45 -0400
Subject: [PATCH 2/2] log/backend: Use in-class initializer for FileBackend

We can also avoid redundant constructions of the same string repeatedly.
---
 src/common/logging/backend.cpp | 10 ++++++----
 src/common/logging/backend.h   |  4 ++--
 2 files changed, 8 insertions(+), 6 deletions(-)

diff --git a/src/common/logging/backend.cpp b/src/common/logging/backend.cpp
index f0bb392c64..96efa977d8 100644
--- a/src/common/logging/backend.cpp
+++ b/src/common/logging/backend.cpp
@@ -148,12 +148,14 @@ void ColorConsoleBackend::Write(const Entry& entry) {
     PrintColoredMessage(entry);
 }
 
-FileBackend::FileBackend(const std::string& filename) : bytes_written(0) {
-    if (FS::Exists(filename + ".old.txt")) {
-        FS::Delete(filename + ".old.txt");
+FileBackend::FileBackend(const std::string& filename) {
+    const auto old_filename = filename + ".old.txt";
+
+    if (FS::Exists(old_filename)) {
+        FS::Delete(old_filename);
     }
     if (FS::Exists(filename)) {
-        FS::Rename(filename, filename + ".old.txt");
+        FS::Rename(filename, old_filename);
     }
 
     // _SH_DENYWR allows read only access to the file for other programs.
diff --git a/src/common/logging/backend.h b/src/common/logging/backend.h
index 84a544ea44..9dd2589c3c 100644
--- a/src/common/logging/backend.h
+++ b/src/common/logging/backend.h
@@ -94,8 +94,8 @@ public:
     void Write(const Entry& entry) override;
 
 private:
-    Common::FS::IOFile file;
-    std::size_t bytes_written;
+    FS::IOFile file;
+    std::size_t bytes_written = 0;
 };
 
 /**