From e7c74917191a4953d495295b65732aa3549ba753 Mon Sep 17 00:00:00 2001 From: Joel Klinghed Date: Sun, 19 Oct 2025 00:12:50 +0200 Subject: Add new module websocket and use it Implement /api/v1/events which will send out messages when things change, such as the main controller. --- src/logger.cc | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) (limited to 'src/logger.cc') diff --git a/src/logger.cc b/src/logger.cc index 21effff..104797f 100644 --- a/src/logger.cc +++ b/src/logger.cc @@ -1,6 +1,7 @@ #include "logger.hh" #include +#include #include #include #include @@ -125,6 +126,34 @@ class StderrLogger : public BaseLogger { bool const verbose_; }; +class PrefixLogger : public Logger { + public: + PrefixLogger(Logger& logger, std::string prefix) + : logger_(logger), prefix_(std::move(prefix)) {} + + void err(std::string_view message) override { + logger_.err(std::format("{}: {}", prefix_, message)); + } + + void warn(std::string_view message) override { + logger_.warn(std::format("{}: {}", prefix_, message)); + } + + void info(std::string_view message) override { + logger_.info(std::format("{}: {}", prefix_, message)); + } + +#if !defined(NDEBUG) + void dbg(std::string_view message) override { + logger_.dbg(std::format("{}: {}", prefix_, message)); + } +#endif + + private: + Logger& logger_; + std::string prefix_; +}; + } // namespace [[nodiscard]] @@ -142,4 +171,9 @@ std::unique_ptr stderr(bool verbose) { return std::make_unique(verbose); } +[[nodiscard]] +std::unique_ptr prefix(Logger& logger, std::string prefix) { + return std::make_unique(logger, std::move(prefix)); +} + } // namespace logger -- cgit v1.2.3-70-g09d2