cli/logger: add redirection of connections

This commit is contained in:
Vaxry 2025-11-23 18:30:59 +00:00
parent a9fe9748ae
commit 96df6f6535
Signed by: vaxry
GPG key ID: 665806380871D640
2 changed files with 18 additions and 3 deletions

View file

@ -82,10 +82,13 @@ namespace Hyprutils::CLI {
// Allow move // Allow move
CLoggerConnection(CLoggerConnection&&) = default; CLoggerConnection(CLoggerConnection&&) = default;
void setName(const std::string_view& name); void setName(const std::string_view& name);
void setLogLevel(eLogLevel level); 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 <typename... Args> template <typename... Args>
// NOLINTNEXTLINE // NOLINTNEXTLINE

View file

@ -179,3 +179,15 @@ void CLoggerConnection::log(eLogLevel level, const std::string_view& msg) {
m_impl->log(level, msg, m_name); 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;
}