Files
OrdonnancementCorrectif/src/General/Logs/Loggers/WebLogger.h
T

56 lines
1.5 KiB
C++
Raw Normal View History

2026-06-03 22:48:34 +02:00
#ifndef WEBLOGGER_H
#define WEBLOGGER_H
#include <iostream>
#include <string>
#include "httplib.h"
#include "Logger.h"
namespace loggerlib {
/*! @file WebLogger.h*/
/**
* @class WebLogger
* @brief Classe dcrivant un logger concret permettant la communication d'un message par requte 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 cration 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 paramtres
* @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<unsigned int>& typesV);
/**
* @brief surchage de la fonction de notification
* Envoi du message : ici par requte HTTP
* @param message le message envoyer
* @return NEANT
*/
void notify(const std::string& timestamp, ELOGGER_TYPES type, const std::string& message) override;
};
}
#endif