#ifndef WEBLOGGER_H #define WEBLOGGER_H #include #include #include "httplib.h" #include "Logger.h" namespace loggerlib { /*! @file WebLogger.h*/ /** * @class WebLogger * @brief Classe d�crivant un logger concret permettant la communication d'un message par requ�te HTTP */ class WebLogger : public Logger { private: /** * @brief l'url � laquelle envoyer le message */ std::string m_url; /** * @brief le port associ� � l'URL */ unsigned int m_port; /** * @brief l'instance du client HTTP utilis� (permet d'�viter la cr�ation d'un client � chaque notification) */ httplib::Client m_client; public: /** * @brief Constructeur par defaut, inutilisable */ WebLogger() = delete; /** * @brief Constructeur de confort avec les informations de communication en param�tres * @param url l'url � laquelle envoyer le message * @param port le port associ� � l'url */ WebLogger(const std::string& url, unsigned int port, bool show, bool json, std::vector& typesV); /** * @brief surchage de la fonction de notification * Envoi du message : ici par requ�te HTTP * @param message le message � envoyer * @return NEANT */ void notify(const std::string& timestamp, ELOGGER_TYPES type, const std::string& message) override; }; } #endif