added new multi log system
[NeonServV5.git] / src / signal.c
index bc444465089f1b2faa2f5d3ce03366c3ae3c041a..4e8f9a5d72f7a2a85ba77d186f549e5fd1e833a8 100644 (file)
 #include "ClientSocket.h"
 #include "IOHandler.h"
 #include "ConfigParser.h"
+#include "log.h"
 
 static void sigcrash();
 static void sigexit();
 
 void sighandler(int signum) {
-    putlog(LOGLEVEL_INFO, "Received Signal %d\n", signum);
+    printf_log("main", LOG_INFO, "Received Signal %d\n", signum);
     signal(signum, SIG_DFL);
     switch(signum) {
         case SIGABRT:
@@ -66,22 +67,14 @@ static void sigcrash(int signum) {
             signame = "SIGUNKNOWN";
             break;
     }
-    putlog(LOGLEVEL_ERROR, "NeonServ process crashed (%s)\n", signame);
+    printf_log("main", LOG_ERROR, "NeonServ process crashed (%s)\n", signame);
     #ifndef WIN32
     char gcore[50];
     sprintf(gcore, "gcore %u", getpid());
     int sysretn = system(gcore); //generate core file
     sprintf(coregen, "core file generated. (%d)", sysretn);
-    putlog(LOGLEVEL_ERROR | LOGLEVEL_INFO, "generated core file.\n");
+    printf_log("main", LOG_ERROR | LOG_INFO, "generated core file.\n");
     #endif
-    char *alertchan = get_string_field("General.alertchan");
-    if(alertchan) {
-        struct ChanNode *channel = getChanByName(alertchan);
-        struct ClientSocket *client;
-        if(channel && (client = getChannelBot(channel, 0))) {
-            putsock(client, "PRIVMSG %s :\00304NeonServ received signal %d (%s). %s", alertchan, signum, signame, coregen);
-        }
-    }
     //close all bots
     struct ClientSocket *bot;
     for(bot = getBots(SOCKET_FLAG_READY, NULL); bot; bot = getBots(SOCKET_FLAG_READY, bot)) {
@@ -91,7 +84,7 @@ static void sigcrash(int signum) {
             bot->iofd = NULL;
         }
     }
-    putlog(LOGLEVEL_INFO, "hard shutdown...\n");
+    printf_log("main", LOG_INFO, "hard shutdown...\n");
     usleep(2000000);
     //hard restart
     restart_bot(1);