Detect more conditions for daemons.
authorarjen <arjen>
Fri, 21 Feb 2003 08:24:10 +0000 (08:24 +0000)
committerarjen <arjen>
Fri, 21 Feb 2003 08:24:10 +0000 (08:24 +0000)
src/gcm_daemon/classes/gnucomo.process_log.php

index dee50fc..32c1d98 100644 (file)
@@ -368,19 +368,63 @@ function linux_daemon() {
           $local_sql .= "('".$dbms->db_result_row[0]."', 'log_adv_daemon', '".$dbms->db_result_row[3]."', 'start')";
           $dbms_working->query($local_sql);
         } else {
+
+         //The word error indicates problems.
+          $pos = strpos($local_log_line, "error");
+         $pos2 = strpost($local_log_line, "crash"); //The word crash is also considered to be an error
+         if ($pos > 0 or $pos2 > 0) {
+         
+             $local_sql = "INSERT INTO log_adv_daemon (logid, detailed_table, service, event) VALUES ";
+             $local_sql .= "('".$dbms->db_result_row[0]."', 'log_adv_daemon', '".$dbms->db_result_row[3]."', 'error detected')";
+             $dbms_working->query($local_sql);
+             
+            //Quite often an error will be followed with information that the daemon or service ended.
+            $pos = strpos($local_log_line, "abort");
+            if ($pos > 0) {
+               $local_sql = "INSERT INTO log_adv_daemon (logid, detailed_table, service, event) VALUES ";
+                $local_sql .= "('".$dbms->db_result_row[0]."', 'log_adv_daemon', '".$dbms->db_result_row[3]."', 'abort')";
+                $dbms_working->query($local_sql);
+             } else {
+               $pos = strpos($local_log_line, "ended");
+               if ($pos > 0) {
+                  $local_sql = "INSERT INTO log_adv_daemon (logid, detailed_table, service, event) VALUES ";
+                  $local_sql .= "('".$dbms->db_result_row[0]."', 'log_adv_daemon', '".$dbms->db_result_row[3]."', 'abort')";
+                  $dbms_working->query($local_sql);
+               } else {
+                 $pos = strpos($local_log_line, "stop");
+                 if ($pos > 0) {
+                    $local_sql = "INSERT INTO log_adv_daemon (logid, detailed_table, service, event) VALUES ";
+                    $local_sql .= "('".$dbms->db_result_row[0]."', 'log_adv_daemon', '".$dbms->db_result_row[3]."', 'abort')";
+                    $dbms_working->query($local_sql);
+            } else {                                    
+          
+             //For power management there is a charge warning
+             $pos = strpos($local_log_line, "charge");
+            if ($pos > 0) {
+               $local_sql = "INSERT INTO log_adv_daemon (logid, detailed_table, service, event) VALUES ";
+               $local_sql .= "('".$dbms->db_result_row[0]."', 'log_adv_daemon', '".$dbms->db_result_row[3]."', 'Power warning')";
+               $dbms_working->query($local_sql);
+            } else {                                                   
+         
           //As the word start this is an else for restart.
           //If we wouldn't do so restart would also give a positive on start
+         //This can only be done if we ensured nothing else was the case
+         //PLEASE USE THIS AS LATE AS POSSIBLE!!!
           $pos = strpos($local_log_line, "exiting");
           if ($pos > 0) {
              $local_sql = "INSERT INTO log_adv_daemon (logid, detailed_table, service, event) VALUES ";
              $local_sql .= "('".$dbms->db_result_row[0]."', 'log_adv_daemon', '".$dbms->db_result_row[3]."', 'start')";
              $dbms_working->query($local_sql);
-         }
+         }
         }
       }
     }
    }
-
+  }
+ }
+}
+}
+}
    return "ok";
 
  }