定制 davidcolquhoun/monitor-exceptions-laravel 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

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

davidcolquhoun/monitor-exceptions-laravel

Composer 安装命令:

composer require davidcolquhoun/monitor-exceptions-laravel

包简介

Light weight PHP exception monitoring for Laravel.

README 文档

README

Lightweight Laravel client for reporting exceptions to the DataSmugglers monitoring API. Events appear in a dashboard where you can filter, search, and inspect them.

Requirements

  • PHP 8.1+
  • Laravel 12.x

Installation

composer require davidcolquhoun/monitor-exceptions-laravel

The package registers its service provider automatically. It merges default config from config/monitor-exceptions.php; you can override values in your app by publishing the config or setting env vars.

Configuration

Set these in your .env:

MONITOR_EXCEPTIONS_ENVIRONMENT_ID=myapp-prod
MONITOR_EXCEPTIONS_ENVIRONMENT_KEY=your-secret-key
  • environment_id: Identifies the environment (e.g. myapp-dev, myapp-prod) for grouping in the DataSmugglers UI.
  • environment_key: Secret key that authenticates this app with the DataSmugglers API.

If either is missing or empty, the client does not register and no exceptions are sent.

To publish the config file and edit it in your project:

php artisan vendor:publish --tag=monitor-exceptions-config

That creates config/monitor-exceptions.php, which reads from the same env vars by default.

Usage

In your Laravel app, register the client in the exception handler. In bootstrap/app.php:

use Illuminate\Foundation\Configuration\Exceptions;
use Monitor\Exceptions\MonitorExceptionsClient;

return Application::configure(basePath: dirname(__DIR__))
    // ... routing, middleware, etc.
    ->withExceptions(function (Exceptions $exceptions) {
        MonitorExceptionsClient::register($exceptions);
    })
    ->create();

Once registered, every exception reported to Laravel (e.g. via report($e)) is also sent to the monitoring API.

What gets sent

The client does not send request bodies, client IP, or query strings. It sends a JSON payload with:

Field Type Description
environmentId string Your environment identifier.
environmentKey string Your environment key.
reportedByHandler string Always laravel.
errorSeverity int | null PHP error level when available (e.g. ErrorException).
exceptionClass string Exception class name.
errorMessage string Exception message.
errorCode string | null Exception code when set.
errorFile string File where the exception was thrown.
errorLine int Line number.
stackTrace string Stack trace as a string.
requestUrl string | null Request URL without query string (null in CLI).
requestMethod string | null HTTP method (null in CLI).
requestHeaders array Request headers with sensitive ones stripped (empty in CLI).

Sensitive headers (e.g. authorization, cookie, x-api-key) are removed before sending.

Behaviour

  • Registration: If environment_id or environment_key is empty, register() does nothing and no handler is attached.
  • CLI: When running in CLI, requestUrl, requestMethod, and requestHeaders are null/empty.
  • Failures: Errors inside the client (e.g. network) are caught and ignored so your app’s error handling is not affected.
  • Blocking: The HTTP send is blocking (up to the configured timeout) so the report is sent before the request ends when possible.

Testing

After configuring env vars, trigger an exception (e.g. throw new \RuntimeException('Test');) and check the DataSmugglers dashboard for the event.

davidcolquhoun/monitor-exceptions-laravel 适用场景与选型建议

davidcolquhoun/monitor-exceptions-laravel 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 88 次下载、GitHub Stars 达 0, 最近一次更新时间为 2026 年 03 月 14 日, 在 PHP 生态内属于活跃度较高的组件。

我们在过去多个企业项目中使用过 davidcolquhoun/monitor-exceptions-laravel 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。

围绕 davidcolquhoun/monitor-exceptions-laravel 我们能提供哪些服务?
定制开发 / 二次开发

基于 davidcolquhoun/monitor-exceptions-laravel 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。

BUG 修复 & 性能优化

线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。

项目外包 & 长期维护

承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。

yvsm@zunyunkeji.com QQ:316430983 微信:yvsm316 西安尊云信息科技 · 专注 PHP / Go / 分布式系统研发

统计信息

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

GitHub 信息

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

其他信息

  • 授权协议: proprietary
  • 更新时间: 2026-03-14