#pragma once #include #include #include #include class Channel { public: Channel() = default; virtual ~Channel() = default; Channel(const Channel &other) = delete; Channel(const Channel &&other) = delete; Channel &operator=(const Channel &other) = delete; Channel &&operator=(const Channel &&other) = delete; virtual void log(LogLevel &logLevel, const std::string &message, const std::map &context = {}) = 0; };