Skip to content

1drop/shopware-sentry

Repository files navigation

OdSentry plugin for Shopware 5.6

What is Sentry

Sentry is a modern error tracking platform. You can log and trace errors in Sentry and collect directly feedback from user.

Detail

Sentry can:

  • show error traces
  • notify on Slack, Jira, GitHub, GitLab, HipChat, etc.
  • use business rules (error must occure more than twice in 24h)
  • do reporting
  • track error occurrences with releases
  • be easily self-hosted with docker

What this plugin does

This plugin gives you the possibility to collect errors that occured in Shopware to a custom Sentry project.

  • collects PHP errors in frontend and backend (can be switched on/off)
  • collects JS errors in frontend (can be switched on/off)
  • collect user feedback in the frontend if a PHP error occured (can be switched on/off)

Configuration

User Feedback

If you enable it and a catchable error occurs, the user will be asked to provide additional feedback:

User Feedback

Installation

Requires PHP >= 7.1 !!

Load plugin

Composer (Shopware 5.5+)

  • Install via composer composer require onedrop/shopware-sentry

Git Version

  • Checkout plugin in git clone https://github.com/1drop/shopware-sentry.git custom/plugins/OdSentry
  • Install dependencies composer install

Shopware plugin store

Plugin can be ordered for free in your plugin manager or in Shopware plugin store

Install plugin

CLI

  • Install plugin php ./bin/console sw:plugin:install OdSentry
  • Get plugin config php ./bin/console sw:plugin:config:list OdSentry (based on custom/plugins/OdSentry/Resources/config.xml)
  • Set plugin config e.g. php ./bin/console sw:plugin:config:set OdSentry sentryLogPhp true
  • Activate plugin php ./bin/console sw:plugin:activate OdSentry
  • (optional) Clear cache php ./bin/console sw:cache:clear

Web

  • Install the plugin with the "Plugin Manager"
  • Configure the plugin

Skip Exceptions

Since 1.1.1 it is possible to skip exceptions for capture add following snippet to our config.php

'sentry' => [
    'skip_capture' => [
        Symfony\Component\Console\Exception\CommandNotFoundException::class,
        Enlight_Controller_Exception::class,
//        Shopware\Components\Api\Exception\NotFoundException:class,
        MyCustomException::class
    ]
]

Authors

  • Hans Höchtl <hhoechtl[at]1drop.de>
  • Soner Sayakci <s.sayakci[at]gmail.com>