]> git.netwichtig.de Git - user/henk/code/inspircd.git/commitdiff
Improve the logging of service adding/deleting.
authorSadie Powell <sadie@witchery.services>
Fri, 4 Dec 2020 15:55:28 +0000 (15:55 +0000)
committerSadie Powell <sadie@witchery.services>
Fri, 4 Dec 2020 15:56:59 +0000 (15:56 +0000)
include/base.h
src/modules.cpp

index cccc130c5507951d3d3b76c6c371f1bacd70f66a..b915d9ae490af33e643efd641b5fde71e455442b 100644 (file)
@@ -259,6 +259,9 @@ class CoreExport ServiceProvider : public classbase
        ServiceProvider(Module* Creator, const std::string& Name, ServiceType Type);
        virtual ~ServiceProvider();
 
+       /** Retrieves a string that represents the type of this service. */
+       const char* GetTypeString() const;
+
        /** Register this service in the appropriate registrar
         */
        virtual void RegisterService();
index b6a29fcfa42cf9039df6bf8cce90d0f15ef1deb1..a39fcb6c19e33d3a7623a88890a0a40f0b4f15a4 100644 (file)
@@ -167,6 +167,26 @@ void ServiceProvider::DisableAutoRegister()
                stdalgo::erase(*ServerInstance->Modules->NewServices, this);
 }
 
+const char* ServiceProvider::GetTypeString() const
+{
+       switch (service)
+       {
+               case SERVICE_COMMAND:
+                       return "command";
+               case SERVICE_MODE:
+                       return "mode";
+               case SERVICE_METADATA:
+                       return "metadata";
+               case SERVICE_IOHOOK:
+                       return "iohook";
+               case SERVICE_DATA:
+                       return "data service";
+               case SERVICE_CUSTOM:
+                       return "module service";
+       }
+       return "unknown service";
+}
+
 ModuleManager::ModuleManager()
 {
 }
@@ -565,6 +585,8 @@ void ModuleManager::AddServices(const ServiceList& list)
 
 void ModuleManager::AddService(ServiceProvider& item)
 {
+       ServerInstance->Logs->Log("SERVICE", LOG_DEBUG, "Adding %s %s provided by %s", item.name.c_str(),
+               item.GetTypeString(), item.creator ? item.creator->ModuleSourceFile.c_str() : "the core");
        switch (item.service)
        {
                case SERVICE_DATA:
@@ -592,6 +614,8 @@ void ModuleManager::AddService(ServiceProvider& item)
 
 void ModuleManager::DelService(ServiceProvider& item)
 {
+       ServerInstance->Logs->Log("SERVICE", LOG_DEBUG, "Deleting %s %s provided by %s", item.name.c_str(),
+               item.GetTypeString(), item.creator ? item.creator->ModuleSourceFile.c_str() : "the core");
        switch (item.service)
        {
                case SERVICE_MODE: