matthewbdaly/laravel-error-snapshot 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

matthewbdaly/laravel-error-snapshot

Composer 安装命令:

composer require matthewbdaly/laravel-error-snapshot

包简介

Stores errors from both the client and server side in a consistent format to aid debugging

README 文档

README

Build Status Coverage Status

Stores errors from both the client and server side in a consistent format to aid debugging.

Use case

With the rise of single-page web apps, many modern web apps have moved functionality that was previously handled on the server side to the client side. This is not without its advantages, but it means that many errors that may occur are locked up in the user's web browser where they can't easily be reported and fixed.

This package provides an API endpoint for Laravel applications that accepts a stack trace for an error, as well as an optional representation of the application state and a meta field for other data. It works by triggering an event when a request is received, and the event listener persists the data to the database.

You can also trigger this event yourself if you wish to capture a server-side exception. This allows for storing all of your exceptions in one place for easier management.

Installation

$ composer require matthewbdaly/laravel-error-snapshot

Usage

This package exposes an API endpoint at /api/snapshot. If you want to store an error that occurs on the client side, you should make a POST request to that endpoint with the following parameters:

  • trace - The full stack trace of the error (required).
  • state - The JSON representation of the application state. This is primarily for cases where you're using a data store such as Redux or Vuex.
  • meta - A JSON representation of any other data you would like to store to help with debugging, such as the current route, a JSON web token or shopping cart state

If the user is logged in, the user ID will also be captured automatically.

For server-side applications, you should instead trigger the event Matthewbdaly\LaravelErrorSnapshot\Events\SnapshotCaptured and pass the same data into the constructor as an array:

$data = [
    'trace' => $trace,
    'state' => $state,
    'meta' => $meta,
    'user_id' => Auth::user()->id,
];
event(new SnapshotCaptured($data));

You'll probably want to do this in your main exception handler in most cases.

Viewing snapshots

As viewing snapshots is going to be application-specific, there are no views, controllers or routes for displaying them. You should implement this functionality yourself. There is already a repository included that you can use to retrieve the snapshots - just typehint Matthewbdaly\LaravelErrorSnapshot\Contracts\Repositories\Snapshot to retrieve it.

统计信息

  • 总下载量: 20
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 4
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2017-11-17

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固