// SPDX-FileCopyrightText: 2024 Yury Gubich <blue@macaw.me> // SPDX-License-Identifier: GPL-3.0-or-later #pragma once #include <vector> #include <gloox/loghandler.h> #include <gloox/logsink.h> class Logger: public gloox::LogHandler { public: enum Level { trace, debug, info, warning, error, fatal }; public: Logger(Level level = info); ~Logger(); void handleLog(gloox::LogLevel level, gloox::LogArea area, const std::string& message) override; void log(Level level, const std::string& message, const std::vector<std::string>& domain = {}) const; static gloox::LogLevel convert(Level level); static Level convert(gloox::LogLevel level); private: Level level; };