From 2e89d9cf21e0b160ba58a93e4d22ed82cb2f048f Mon Sep 17 00:00:00 2001
From: Kubat <mael.martin31@gmail.com>
Date: Tue, 31 Aug 2021 11:51:22 +0200
Subject: [PATCH] MISC: Add the VIVY_LOGGABLE_OBJECT macro to add debug
 facilities to objects

---
 src/Lib/Log.hh | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/src/Lib/Log.hh b/src/Lib/Log.hh
index d588c568..fa109ff7 100644
--- a/src/Lib/Log.hh
+++ b/src/Lib/Log.hh
@@ -12,6 +12,14 @@
 #define VIVY_LOG_ERR(log)               VIVY_LOG_WITH_LEVEL(log, LogLevel::Error)
 #define VIVY_LOG_FATAL(log)             VIVY_LOG_WITH_LEVEL(log, LogLevel::Critical)
 
+#define VIVY_LOGGABLE_OBJECT(sink, name, logger)                             \
+    std::shared_ptr<Logger> logger = VIVY_GET_LOGGER(sink, name);            \
+    LogMessage logFatal() const noexcept { return VIVY_LOG_FATAL(logger); }  \
+    LogMessage logError() const noexcept { return VIVY_LOG_ERR(logger); }    \
+    LogMessage logWarning() const noexcept { return VIVY_LOG_WARN(logger); } \
+    LogMessage logInfo() const noexcept { return VIVY_LOG_INFO(logger); }    \
+    LogMessage logDebug() const noexcept { return VIVY_LOG_DEBUG(logger); }
+
 namespace Vivy
 {
 class VivyApplication;
-- 
GitLab