Ejemplo n.º 1
0
 /**
  * Store a snapshot and then return its id.
  *
  * @param  array      $snapshot
  * @param  array      $stackTrace
  * @param  array|null $additionalData
  * @return SnapshotStore
  */
 protected function storeSnapshot(array $snapshot, array $stackTrace, $additionalData = null)
 {
     $data['snapshot'] = $snapshot;
     $data['snapshot']['additional_data'] = !is_null($additionalData) ? json_encode($additionalData) : null;
     $data['items'] = $this->transformStackTrace($stackTrace);
     return $this->store->capture($data);
 }
Ejemplo n.º 2
0
 /**
  * Capture the current state of the application.
  */
 public function capture()
 {
     $args = func_get_args();
     $additionalData = [];
     $stackTrace = debug_backtrace();
     $snapshot = $this->getSnapshotData($this->getCalledFile($stackTrace), $this->getCalledLine($stackTrace));
     foreach ($args as $arg) {
         if ($arg instanceof \Exception) {
             $stackTrace = $arg->getTrace();
             $snapshot['message'] = $arg->getMessage();
             $snapshot['code'] = $arg->getCode();
         }
         if (is_array($arg)) {
             $additionalData = array_merge($additionalData, $arg);
         }
     }
     $data['snapshot'] = $snapshot;
     $data['snapshot']['additional_data'] = isset($additionalData) ? json_encode($additionalData) : null;
     $data['items'] = $this->transformStackTrace($stackTrace);
     $this->store->capture($data);
 }