From 15e23564c22a0ee837c28e59f0d1570dd17d931b Mon Sep 17 00:00:00 2001 From: Pax1601 Date: Mon, 22 Jul 2024 17:57:16 +0200 Subject: [PATCH] Fixed error logger clearing file at all logs --- backend/logger/include/logger.h | 1 + backend/logger/src/logger.cpp | 14 +++++++++++++- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/backend/logger/include/logger.h b/backend/logger/include/logger.h index 529cbf54..4aec4cf9 100644 --- a/backend/logger/include/logger.h +++ b/backend/logger/include/logger.h @@ -25,6 +25,7 @@ private: mutex mutexLock; + void Clear(); void Open(); void Close(); }; diff --git a/backend/logger/src/logger.cpp b/backend/logger/src/logger.cpp index aa7c191b..1d378acc 100644 --- a/backend/logger/src/logger.cpp +++ b/backend/logger/src/logger.cpp @@ -19,6 +19,7 @@ Logger* Logger::GetLogger() { if (m_pThis == NULL) { m_pThis = new Logger(); + m_pThis->Clear(); } return m_pThis; } @@ -28,7 +29,7 @@ void Logger::setDirectory(string newDirPath) m_dirPath = newDirPath; } -void Logger::Open() +void Logger::Clear() { try { m_Logfile.open((m_dirPath + m_sFileName).c_str(), ios::out | std::ios::trunc); @@ -39,6 +40,17 @@ void Logger::Open() } } +void Logger::Open() +{ + try { + m_Logfile.open((m_dirPath + m_sFileName).c_str(), ios::out | std::ios::app); + } + catch (...) { + std::filesystem::path m_dirPath = std::filesystem::temp_directory_path(); + m_Logfile.open((m_dirPath.string() + m_sFileName).c_str(), ios::out | std::ios::app); + } +} + void Logger::Close() { m_Logfile.close();