PHPackages                             camspiers/silverstripe-loggerbridge - 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. [Logging &amp; Monitoring](/categories/logging)
4. /
5. camspiers/silverstripe-loggerbridge

ActiveSilverstripe-module[Logging &amp; Monitoring](/categories/logging)

camspiers/silverstripe-loggerbridge
===================================

Provides a bridge between PSR-3 loggers (like monolog) and SilverStripe

1.0.1(8y ago)1373.3k↑24.6%10[1 issues](https://github.com/camspiers/silverstripe-loggerbridge/issues)[6 PRs](https://github.com/camspiers/silverstripe-loggerbridge/pulls)MITPHP

Since Jul 22Pushed 6y ago2 watchersCompare

[ Source](https://github.com/camspiers/silverstripe-loggerbridge)[ Packagist](https://packagist.org/packages/camspiers/silverstripe-loggerbridge)[ RSS](/packages/camspiers-silverstripe-loggerbridge/feed)WikiDiscussions master Synced yesterday

READMEChangelog (6)Dependencies (6)Versions (31)Used By (0)

SilverStripe Logger Bridge
==========================

[](#silverstripe-logger-bridge)

[![Build Status](https://camo.githubusercontent.com/e8716ec47914b47117d0e9d38573bc4dbd7cb1f93de7708ad4e6da29ec76941a/68747470733a2f2f7472617669732d63692e6f72672f63616d7370696572732f73696c7665727374726970652d6c6f676765726272696467652e706e673f6272616e63683d6d6173746572)](https://travis-ci.org/camspiers/silverstripe-loggerbridge) [![Latest Stable Version](https://camo.githubusercontent.com/e4da0758847776bd01eb06a7aa8961ba2a4388f480e3ba949b14281528f8ff1c/68747470733a2f2f706f7365722e707567782e6f72672f63616d7370696572732f73696c7665727374726970652d6c6f676765726272696467652f762f737461626c652e706e67)](https://packagist.org/packages/camspiers/silverstripe-loggerbridge) [![Code Coverage](https://camo.githubusercontent.com/9fafd5575e87788c2b5bff3a801fa15caa53cf083ecf98e8a1212bdd5ad80c2d/68747470733a2f2f7363727574696e697a65722d63692e636f6d2f672f63616d7370696572732f73696c7665727374726970652d6c6f676765726272696467652f6261646765732f636f7665726167652e706e673f733d30386134393533386336326432646130633166633835323065343935663663323537376639646463)](https://scrutinizer-ci.com/g/camspiers/silverstripe-loggerbridge/)

Provides easy usage of `PSR-3` loggers (like [monolog](https://github.com/Seldaek/monolog)) in SilverStripe 3.x. In SilverStripe 4.x and newer, `PSR-3` support is built into the core system and this module is no longer required.

Installation (composer required)
--------------------------------

[](#installation-composer-required)

```
$ composer require camspiers/silverstripe-loggerbridge:dev-master

```

Usage
-----

[](#usage)

1. Create a config file in your `mysite`, e.g. "mysite/\_config/logging.yml"
2. Set up a `PSR-3` logger service and add to the `LoggerBridge` constructor

    ```
     Injector:
     	Monolog:
     		class: Monolog\Logger
     		constructor:
     			0: App
     			1:
     				- '%$StreamHandler'
     	StreamHandler:
     		class: Monolog\Handler\StreamHandler
     		constructor:
     			0: '../../error.log'
     	LoggerBridge:
     		class: Camspiers\LoggerBridge\LoggerBridge
     		constructor:
     			0: '%$Monolog'

    ```

### Changing the way errors display in development

[](#changing-the-way-errors-display-in-development)

By default Logger Bridge uses `Whoops` for the display of errors and exceptions. You can change to using SilverStripe error display by adding the following to your yml:

```
Injector:
	LoggerBridge:
		properties:
			ErrorReporter: '%$LoggerBridgeDebugErrorReporter'

```

Advanced-style setup
--------------------

[](#advanced-style-setup)

This setup provides the following:

- Logging to a [Sentry](https://getsentry.com/welcome/) server, through a raven client (`composer require raven/raven`)
    - Uses one Sentry project for `live` and one Sentry project for `test` and `dev`
- Logging to a file for error levels `error` and above
- Logging to [Chrome Logger](http://craig.is/writing/chrome-logger) when environment `dev`
    - Errors are displayed in the Chrome console instead of displaying in the webpage
- Logging to [FirePHP](http://www.firephp.org/) when environment `dev`
    - Errors are displayed in the Firebug console instead of displaying in the webpage
- Logging of peak memory usage along with error

```
---
Except:
  environment: live
---
Injector:
  Raven:
    class: Raven_Client
    constructor:
      0: http://someraven.url/1

  Monolog:
    class: Monolog\Logger
    constructor:
      0: App
      1:
        - '%$RavenHandler'
        - '%$StreamHandler'
        - '%$ChromePHPHandler'
        - '%$FirePHPHandler'
      2:
        - '%$MemoryPeakUsageProcessor'

---
Only:
  environment: live
---
Injector:
  Raven:
    class: Raven_Client
    constructor:
      0: http://someraven.url/1
  Monolog:
    class: Monolog\Logger
    constructor:
      0: App
      1:
        - '%$RavenHandler'
        - '%$StreamHandler'
      2:
        - '%$MemoryPeakUsageProcessor'

---
Name: logging
---
Injector:
  LoggerBridge:
    class: Camspiers\LoggerBridge\LoggerBridge
    constructor:
      0: '%$Monolog'
      1: false
  RavenHandler:
    class: Monolog\Handler\RavenHandler
    constructor:
      0: '%$Raven'
  StreamHandler:
    class: Monolog\Handler\StreamHandler
    constructor:
      0: '../../error.log'
      1: 400
  ChromePHPHandler:
    class: Monolog\Handler\ChromePHPHandler
  FirePHPHandler:
    class: Monolog\Handler\FirePHPHandler
  MemoryPeakUsageProcessor:
    class: Monolog\Processor\MemoryPeakUsageProcessor
```

### Attaching the logger as early as possible

[](#attaching-the-logger-as-early-as-possible)

SilverStripe currently doesn't provide any way to replace the default `Debug` error handlers prior to the database connection etc. But the following patch will use the Logger Bridge as early as possible.

To apply the patch, run the following from the `framework` directory of a `3.1.x-dev` install.

```
patch -p1 < framework.patch

```

`framework.patch`

```
diff --git a/core/Core.php b/core/Core.php
index bc3f583..4c9f59e 100644
--- a/core/Core.php
+++ b/core/Core.php
@@ -131,7 +131,7 @@ if(Director::isLive()) {
 /**
  * Load error handlers
  */
-Debug::loadErrorHandlers();
+Injector::inst()->get('LoggerBridge')->registerGlobalHandlers();

 ///////////////////////////////////////////////////////////////////////////////
```

Unit testing
------------

[](#unit-testing)

Logger Bridge has good unit test converage. To run the unit tests:

```
$ composer install --dev --prefer-dist
$ phpunit

```

---

\##License

SilverStripe Logger Bridge is released under the [MIT license](http://camspiers.mit-license.org/)

###  Health Score

42

—

FairBetter than 88% of packages

Maintenance18

Infrequent updates — may be unmaintained

Popularity41

Moderate usage in the ecosystem

Community17

Small or concentrated contributor base

Maturity74

Established project with proven stability

 Bus Factor1

Top contributor holds 91.7% 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 ~62 days

Recently: every ~380 days

Total

29

Last Release

2991d ago

Major Versions

0.6.1 → 1.0.02016-01-20

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/51294?v=4)[Cam Spiers](/maintainers/camspiers)[@camspiers](https://github.com/camspiers)

---

Top Contributors

[![camspiers](https://avatars.githubusercontent.com/u/51294?v=4)](https://github.com/camspiers "camspiers (77 commits)")[![stecman](https://avatars.githubusercontent.com/u/2230769?v=4)](https://github.com/stecman "stecman (3 commits)")[![stevie-mayhew](https://avatars.githubusercontent.com/u/1953220?v=4)](https://github.com/stevie-mayhew "stevie-mayhew (2 commits)")[![chillu](https://avatars.githubusercontent.com/u/111025?v=4)](https://github.com/chillu "chillu (1 commits)")[![lozcalver](https://avatars.githubusercontent.com/u/1655548?v=4)](https://github.com/lozcalver "lozcalver (1 commits)")

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/camspiers-silverstripe-loggerbridge/health.svg)

```
[![Health](https://phpackages.com/badges/camspiers-silverstripe-loggerbridge/health.svg)](https://phpackages.com/packages/camspiers-silverstripe-loggerbridge)
```

###  Alternatives

[tempest/framework

The PHP framework that gets out of your way.

2.2k34.4k15](/packages/tempest-framework)[matomo/matomo

Matomo is the leading Free/Libre open analytics platform

21.7k38.9k](/packages/matomo-matomo)[silverstripe/framework

The SilverStripe framework

7313.7M2.8k](/packages/silverstripe-framework)[prestashop/prestashop

PrestaShop is an Open Source e-commerce platform, committed to providing the best shopping cart experience for both merchants and customers.

9.1k17.8k](/packages/prestashop-prestashop)[pressbooks/pressbooks

Pressbooks is an open source book publishing tool built on a WordPress multisite platform. Pressbooks outputs books in multiple formats, including PDF, EPUB, web, and a variety of XML flavours, using a theming/templating system, driven by CSS.

45444.2k1](/packages/pressbooks-pressbooks)[illuminate/log

The Illuminate Log package.

6225.3M623](/packages/illuminate-log)

PHPackages © 2026

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