示例#1
0
 /**
  * @param string $severity
  * @param string $auditType
  * @param string $itemName
  * @param string $itemDescription
  * @return bool
  */
 public function doLog($severity, $auditType, $itemName, $itemDescription)
 {
     $savedInDB = $savedInFile = $savedInSyslog = false;
     if ($this->isDBEngineActive) {
         $savedInDB = CEventLog::log($severity, $auditType, "security", $itemName, base64_encode($itemDescription));
     }
     $message = "";
     if ($this->isSyslogEngineActive) {
         $message = $this->messageFormatter->format($auditType, $itemName, $itemDescription);
         $savedInSyslog = syslog($this->syslogPriority, $message);
     }
     if ($this->isFileEngineActive) {
         if (!$message) {
             $message = $this->messageFormatter->format($auditType, $itemName, $itemDescription);
         }
         $message .= "\n";
         $savedInFile = file_put_contents($this->filePath, $message, FILE_APPEND) > 0;
     }
     return $savedInDB || $savedInSyslog || $savedInFile;
 }