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