From 96df6f6535f80fa66b9412d9cef4dcebba012b8f Mon Sep 17 00:00:00 2001 From: Vaxry Date: Sun, 23 Nov 2025 18:30:59 +0000 Subject: [PATCH] cli/logger: add redirection of connections --- include/hyprutils/cli/Logger.hpp | 9 ++++++--- src/cli/Logger.cpp | 12 ++++++++++++ 2 files changed, 18 insertions(+), 3 deletions(-) diff --git a/include/hyprutils/cli/Logger.hpp b/include/hyprutils/cli/Logger.hpp index 3d2d9bd..269384e 100644 --- a/include/hyprutils/cli/Logger.hpp +++ b/include/hyprutils/cli/Logger.hpp @@ -82,10 +82,13 @@ namespace Hyprutils::CLI { // Allow move CLoggerConnection(CLoggerConnection&&) = default; - void setName(const std::string_view& name); - void setLogLevel(eLogLevel level); + void setName(const std::string_view& name); + void setLogLevel(eLogLevel level); - void log(eLogLevel level, const std::string_view& msg); + void log(eLogLevel level, const std::string_view& msg); + + CLogger* getLogger(); + void redirect(CLogger& logger); template // NOLINTNEXTLINE diff --git a/src/cli/Logger.cpp b/src/cli/Logger.cpp index 32d37a4..5c5eb5b 100644 --- a/src/cli/Logger.cpp +++ b/src/cli/Logger.cpp @@ -179,3 +179,15 @@ void CLoggerConnection::log(eLogLevel level, const std::string_view& msg) { m_impl->log(level, msg, m_name); } + +CLogger* CLoggerConnection::getLogger() { + if (!m_impl) + return nullptr; + + return m_logger; +} + +void CLoggerConnection::redirect(CLogger& logger) { + m_impl = logger.m_impl; + m_logger = &logger; +}