webserv/webserv/log/Channel.hpp
2025-10-08 17:21:48 +02:00

27 lines
645 B
C++

#pragma once
#include <webserv/log/Log.hpp>
#include <map>
#include <string>
class Channel
{
public:
Channel() = default;
virtual ~Channel() = default;
Channel(const Channel &other) = delete;
Channel(Channel &&other) = delete;
Channel &operator=(const Channel &other) = delete;
Channel &operator=(Channel &&other) = delete;
virtual void log(const Log::Level &logLevel, const std::string &message,
const std::map<std::string, std::string> &context = {}) = 0;
protected:
[[nodiscard]] static std::string printContext(const std::map<std::string, std::string> &context);
private:
};