statikbe / craft-sentry
Sentry.io integration for Craft CMS
Installs: 9 882
Dependents: 1
Suggesters: 0
Security: 0
Stars: 2
Watchers: 10
Forks: 1
Open Issues: 1
Type:craft-plugin
Requires
- craftcms/cms: ^5.0.0-beta.1
- sentry/sdk: ^4.0.0
Requires (Dev)
- craftcms/ecs: dev-main
- craftcms/phpstan: dev-main
This package is auto-updated.
Last update: 2024-12-17 09:12:52 UTC
README
Sentry.io integration for Craft CMS. Inspired by born05/craft-sentry, but with our own twist.
Installation
To install the plugin, follow these instructions in your terminal.
cd /path/to/project
composer require statikbe/craft-sentry
./craft plugin/install craft-sentry
Configration
Create a config/craft-sentry.php config file with the following contents:
<?php return [ 'enabled' => true, 'anonymous' => true, 'clientDsn' => getenv('SENTRY_DSN') ?: 'https://example@sentry.io/123456789', 'excludedCodes' => ['400', '404', '429'], 'excludedExceptions' => [], 'release' => getenv('SENTRY_RELEASE') ?: null, ];
Usage
To let Sentry log your exception, you don't really need to do anything. Install the plugin and add your DSN and you're set.
When you're writing your own custom code and throwing your own exception, you'll also want to catch those and send them to Sentry. That can be done like this:
<?php use statikbe\sentry\Sentry; use yii\base\InvalidConfigException; // Don't copy this line, it's just here to make the example theoractically correct ;) try { throw new InvalidConfigException("Something went wrong here..."); } catch (Exception $e) { Sentry::handleException($e); }
The plugin works for exceptions thrown in web requests as well as console requests. For web requests, the url where the error happened is included.
Excluding specific exceptions
Using the excludedExceptions
, you can stop specific types of exceptions from being logged to Sentry, for example:
'excludedExceptions' => [ \craft\errors\ImageTransformException::class, ],
Brought to you by Statik.be