PHPackages                             davidcolquhoun/monitor-exceptions-silverstripe - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. davidcolquhoun/monitor-exceptions-silverstripe

ActiveLibrary

davidcolquhoun/monitor-exceptions-silverstripe
==============================================

Light weight PHP exception monitoring for SilverStripe.

v1.0.2(1w ago)012proprietaryPHPPHP &gt;=8.1

Since Mar 14Pushed 1w agoCompare

[ Source](https://github.com/davidcolquhoun/monitor-exceptions-silverstripe)[ Packagist](https://packagist.org/packages/davidcolquhoun/monitor-exceptions-silverstripe)[ RSS](/packages/davidcolquhoun-monitor-exceptions-silverstripe/feed)WikiDiscussions main Synced today

READMEChangelogDependencies (3)Versions (4)Used By (0)

Monitor Exceptions – SilverStripe
=================================

[](#monitor-exceptions--silverstripe)

Lightweight exception monitoring for SilverStripe. Sends errors and exceptions from your app’s logger to the DataSmugglers monitoring API, where you can filter, search, and inspect them in a dashboard.

Requirements
------------

[](#requirements)

- PHP 8.1+
- SilverStripe Framework 6.1.x
- Monolog 3.x (pulled in by SilverStripe)

Installation
------------

[](#installation)

In your SilverStripe project:

```
composer require davidcolquhoun/monitor-exceptions-silverstripe
```

Configuration
-------------

[](#configuration)

Set these environment variables (e.g. in `.env` or your server config):

```
MONITOR_EXCEPTION_ENVIRONMENT_ID=myapp-prod
MONITOR_EXCEPTION_ENVIRONMENT_KEY=your-secret-key
```

VariableDescription`MONITOR_EXCEPTION_ENVIRONMENT_ID`Environment identifier (e.g. `myapp-dev`, `myapp-prod`).`MONITOR_EXCEPTION_ENVIRONMENT_KEY`Secret key for this environment from DataSmugglers.- **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 handler does nothing and no data is sent.

How it works
------------

[](#how-it-works)

The module registers a Monolog handler on SilverStripe’s `errorhandler` logger. When the framework logs an error or exception, the handler sends a payload to the DataSmugglers API. No code changes are required beyond installing and setting the env vars.

What gets sent
--------------

[](#what-gets-sent)

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

FieldTypeDescription`environmentId`stringYour environment identifier.`environmentKey`stringYour environment key.`reportedByHandler`stringAlways `silverstripe`.`errorSeverity`int | nullPHP error level when available (e.g. `ErrorException`).`exceptionClass`stringException class name.`errorMessage`stringException message.`errorCode`string | nullException code when set.`errorFile`stringFile where the exception was thrown.`errorLine`intLine number.`stackTrace`stringStack trace as a string.`requestUrl`string | nullRequest URL without query string (null in CLI).`requestMethod`string | nullHTTP method (null in CLI).`requestHeaders`arrayRequest headers with sensitive ones stripped (empty in CLI).Sensitive headers (e.g. `authorization`, `cookie`, `x-api-key`) are removed before sending.

Behaviour
---------

[](#behaviour)

- **Registration**: If `environment_id` or `environment_key` is empty, the handler does not attach and no exceptions are sent.
- **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
-------

[](#testing)

After configuring env vars, trigger an exception or error (e.g. in a controller or via the logger) and check the DataSmugglers dashboard for the event.

###  Health Score

41

—

FairBetter than 89% of packages

Maintenance98

Actively maintained with recent releases

Popularity8

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity44

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~0 days

Total

3

Last Release

7d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/314df9bcf3a7d0fb7009ced23803107fc7b28d2d17074d172343dea387d1d6b1?d=identicon)[davidcolquhoun](/maintainers/davidcolquhoun)

---

Top Contributors

[![davidcolquhoun](https://avatars.githubusercontent.com/u/9343646?v=4)](https://github.com/davidcolquhoun "davidcolquhoun (2 commits)")

### Embed Badge

![Health badge](/badges/davidcolquhoun-monitor-exceptions-silverstripe/health.svg)

```
[![Health](https://phpackages.com/badges/davidcolquhoun-monitor-exceptions-silverstripe/health.svg)](https://phpackages.com/packages/davidcolquhoun-monitor-exceptions-silverstripe)
```

###  Alternatives

[elgg/elgg

Elgg is an award-winning social networking engine, delivering the building blocks that enable businesses, schools, universities and associations to create their own fully-featured social networks and applications.

1.7k15.5k2](/packages/elgg-elgg)[pithyone/wechat

企业微信SDK

1032.4k1](/packages/pithyone-wechat)[wpstarter/framework

The WpStarter Framework - Laravel Framework for WordPress

1610.0k4](/packages/wpstarter-framework)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
