/**
  * TraceAttachment constructor.
  *
  * @param ErrorInterface $error
  * @param StringFormat $formatter
  */
 public function __construct(ErrorInterface $error, StringFormat $formatter)
 {
     parent::__construct('Trace');
     $this->error = $error;
     $this->formatter = $formatter;
     $this->setTitle(new Title('Trace'));
     $this->setText($formatter->arrayToNumberedList(array_map(function ($traceItem) {
         return $this->parseTraceItem($traceItem);
     }, $this->error->getTrace())));
 }
 /**
  * @param ErrorInterface $error
  * @param StringFormat $formatter
  */
 public function __construct(ErrorInterface $error, StringFormat $formatter)
 {
     parent::__construct('Parameters');
     $this->error = $error;
     $this->formatter = $formatter;
     $this->setTitle(new Title('Parameters'));
     foreach ((array) $this->error->getParameters() as $name => $parameter) {
         $this->addField(new Field($name, $this->parseParameter($parameter)));
     }
 }
 /**
  * BasicInfoAttachment constructor.
  *
  * @param array $record
  * @param ErrorInterface $error
  */
 public function __construct(array $record, ErrorInterface $error = null)
 {
     $this->record = $record;
     $this->error = $error;
     $message = $this->error !== null ? $this->error->getMessage() : $this->record['message'];
     parent::__construct($message);
     $this->setColour($this->getColourForLoggerLevel());
     $this->setText(sprintf('*Error:* %s', $this->record['level_name']));
     $this->addField(new Field('What', $message));
     $this->addField(new Field('When', $this->record['datetime']->format('d/m/Y H:i:s'), true));
     $this->addRecordDataAsJsonEncodedField('context', 'Context');
     $this->addRecordDataAsJsonEncodedField('extra', 'Extra');
     if ($this->error !== null) {
         $this->addField(new Field('Line', $this->error->getLine(), true));
         $this->addField(new Field('File', $this->error->getFile()));
     }
 }