]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - include/logger.h
Initial totally untested logger implementation that does nothing.
[user/henk/code/inspircd.git] / include / logger.h
index 5b8929d37d9a94274347fcd42eb89c325e10267e..1e043f4f1537bd83ec1dec94c416b4160f4b310b 100644 (file)
  * ---------------------------------------------------
  */
 
+#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