public function broadcast(LogMessage $message)
 {
     $to = $this->name . ' <' . $this->email . '>';
     $headers = $this->headers;
     $headers[] = "MIME-Version: 1.0";
     $headers[] = "Content-type: text/plain; charset=utf-8";
     $headers[] = "X-Mailer: PHP/" . phpversion();
     $subject = 'New Broadcast Event: ' . $message->getRealm() . ' - ' . $message->getType();
     if ($message->getSubtype()) {
         $subject .= ' - ' . $message->getSubtype();
     }
     $text = 'Namespace: ' . $message->getNamespace() . PHP_EOL;
     $text .= 'Chunk:     ' . $message->getChunk() . PHP_EOL . PHP_EOL;
     $text .= 'Realm:     ' . $message->getRealm() . PHP_EOL;
     $text .= 'Type:      ' . $message->getType() . PHP_EOL;
     $text .= 'Subtype:   ' . $message->getSubtype() . PHP_EOL . PHP_EOL . PHP_EOL;
     $text .= $message->getMessage();
     mail($to, $subject, $text, implode("\r\n", $headers));
 }
Exemple #2
0
 /**
  * Logs with an arbitrary level.
  *
  * @param mixed  $level
  * @param string $message
  * @param array  $context
  *
  * @return null
  */
 public function log($level, $message, array $context = array())
 {
     if (!$message instanceof LogMessage) {
         $message = new LogMessage($message);
     }
     $message->setNamespace($this->getNamespace());
     $message->setChunk($this->getChunk());
     if ($message->getTiming() == '') {
         $message->setTiming($this->getDuration());
     }
     if (array_key_exists($level, $this->logLevels)) {
         if (!array_key_exists($message->getNamespace(), $this->namespaceThresholds) || $this->namespaceThresholds[$message->getNamespace()] >= $this->logLevels[$level]) {
             foreach ($this->logger as $logger) {
                 if ($this->logLevels[$level] <= $this->logLevels[$logger['threshold']]) {
                     $logger['logger']->log($level, (string) $message, $context);
                 }
             }
         }
     }
 }