From aaaca1cd6d1c4bb27e4fe3464293dcfffd8d886b Mon Sep 17 00:00:00 2001 From: Lioncash Date: Tue, 20 Apr 2021 12:53:02 -0400 Subject: 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 bc82905c0..f0bb392c6 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 { -- cgit v1.2.3 From 6125590a7b2bbad7d5efdfbab69ba86601e0769b Mon Sep 17 00:00:00 2001 From: Lioncash Date: Tue, 20 Apr 2021 12:57:45 -0400 Subject: 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 f0bb392c6..96efa977d 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 84a544ea4..9dd2589c3 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; }; /** -- cgit v1.2.3