Home

Awesome

Networkteam.SentryClient

This is a Sentry client package for the Flow framework. If you want to use this package with Neos CMS please use Networkteam.Neos.SentryClient instead.

It's based on https://github.com/getsentry/sentry-php.

Have a look at https://sentry.io for more information about Sentry.

Installation:

$ composer require networkteam/sentryclient

Compatibility table for the sentry client

There was a failure in the versioning scheme for the client from 1.0.3 on. This is fixed with the 2.x and 3.x versions.

FlowSentryClient
>= 5.0.0>= 5.x
>= 4.0.0 < 5.04.x
>=2.3.9, >=3.0.33.x, >1.0.3
<2.3.9, <3.0.32.x, <1.0.3

Configuration:

Add the following to your Settings.yaml and replace the dsn setting with your project DSN (API Keys in your Sentry project):

Networkteam:
  SentryClient:
    # The Sentry DSN
    dsn: 'http://secret_key@your-sentry-server.com/project-id'

You can implement the \Networkteam\SentryClient\User\UserContextServiceInterface to pass your own user context information to the logging. If you do not have the Neos.Party Package and don't want to implement your own UserContextService you need to set the \Networkteam\SentryClient\User\DummyUserContext in the Objects.yaml like

Networkteam\SentryClient\User\UserContextServiceInterface:
  className: Networkteam\SentryClient\User\DummyUserContext

This will prevent any collection of user information except information that is available via the Flow SecurityContext.

Release tracking:

A Release can be passed to the Sentry client with the environment variable FLOW_RELEASE or by setting the value in a Settings.yaml:

Networkteam:
  SentryClient:
    release: '1.2.3-alpha1'

Usage:

Sentry will log all exceptions that have the rendering option logException enabled. This can be enabled or disabled by status code or exception class according to the Flow configuration.

Development:

This package is managed on GitHub. Feel free to get in touch at https://github.com/networkteam/Networkteam.SentryClient.

License:

See the LICENSE file for license rights and limitations (MIT).