diff options
Diffstat (limited to 'include/logger.h')
-rw-r--r-- | include/logger.h | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/include/logger.h b/include/logger.h index 5b8929d37..1e043f4f1 100644 --- a/include/logger.h +++ b/include/logger.h @@ -11,3 +11,38 @@ * --------------------------------------------------- */ +#ifndef __LOGMANAGER_H +#define __LOGMANAGER_H + +class CoreExport LogStream : public classbase +{ + private: + InspIRCd *ServerInstance; + std::string type; + public: + LogStream(InspIRCd *Instance, const std::string &type) + { + this->ServerInstance = Instance; + this->type = type; + } + + virtual void OnLog(int loglevel, const std::string &msg); +}; + +class CoreExport LogManager : public classbase +{ + private: + InspIRCd *ServerInstance; + std::map<std::string, std::vector<LogStream *> > LogStreams; + public: + LogManager(InspIRCd *Instance) + { + ServerInstance = Instance; + } + + bool AddLogType(const std::string &type, LogStream *l); + bool DelLogType(const std::string &type, LogStream *l); + void Log(const std::string &type, int loglevel, const std::string &msg); +}; + +#endif |