From 64e2091181f44b09ed1dce6ca2163dce37dae552 Mon Sep 17 00:00:00 2001 From: Kubat <mael.martin31@gmail.com> Date: Thu, 2 Sep 2021 20:47:27 +0200 Subject: [PATCH] LOG: Abort on logFatal() --- src/Lib/Log.cc | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/Lib/Log.cc b/src/Lib/Log.cc index 4da5f3b1..51a8ee1a 100644 --- a/src/Lib/Log.cc +++ b/src/Lib/Log.cc @@ -62,8 +62,16 @@ void LogSink::recieveLogMessage(const Logger *const logger, LogMessage &&msg) noexcept { const std::lock_guard<std::mutex> messageQueueLockGuard(messageQueueLock); + const bool isFatal = msg.getHeader().severity == LogLevel::Critical; + messageQueue.emplace_back(std::make_tuple<const std::string_view, LogMessage>( logger->getCategoryView(), std::move(msg.sink()))); + + if (isFatal) { + std::cerr << "-->>Found a fatal log! flush the message queue and abort<<--\n"; + flush(); + abort(); + } } // Flush all LogMessages to all of the LogSinkDispatchers. Also clear the message queue. -- GitLab