Example #1
0
 /**
  * @param          $title
  * @param string   $message
  * @param string   $color
  * @param string   $link
  * @param string[] $fields
  *
  * @return MessageAttachment
  */
 public function createAttachment($title, $message = '', $color = '', $link = '', $fields = [])
 {
     $attachment = new MessageAttachment();
     $attachment->setColor($color);
     $attachment->setTitle($title);
     $attachment->setTitleLink($link);
     $attachment->setFallback($title);
     foreach ($fields as $key => $value) {
         $attachment->addField($key, $value, true);
     }
     $attachment->setText($message);
     return $attachment;
 }
Example #2
0
 protected function write(array $record)
 {
     $attachment = new MessageAttachment();
     switch ($record['level']) {
         case Logger::DEBUG:
         case Logger::INFO:
             $attachment->setColor('good');
             break;
         case Logger::NOTICE:
         case Logger::WARNING:
             $attachment->setColor('warning');
             break;
         case Logger::ERROR:
         case Logger::CRITICAL:
         case Logger::ALERT:
         case Logger::EMERGENCY:
             $attachment->setColor('danger');
             break;
     }
     $attachment->addField($record['level_name'], $record['formatted']);
     $this->messagingClient->message($this->channel, '', $this->username, [$attachment]);
 }