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