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)); }
/** * 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); } } } } }