This TYPO3 extension allows you to send exceptions that occur in a TYPO3 installation to Sentry.
Professional support is available, please contact [email protected] for more information.
Install this TYPO3 Extension via composer.
composer require jop-software/typo3-sentry-client
Attention: Installation for non-composer installations on TYPO3 is not supported currently, because we depend on some composer packages. See Issue #4 for more information.
Configuration is supported via TYPO3 Extension configuration and environment variables.
See Settings
> Extension Configuration
> typo3_sentry_client
in the TYPO3 backend.
You can overwrite those settings with environment variables:
###> jop-software/typo3-sentry-client
SetEnv SENTRY_ACTIVE true
SetEnv SENTRY_DSN http://[email protected]/projectId
SetEnv SENTRY_ENVIRONMENT Production
SetEnv SENTRY_TRACES_SAMPLE_RATE 1.0
SetEnv SENTRY_RELEASE 9.10.19
SetEnv SENTRY_ERROR_LEVEL 32767 # See https://www.php.net/manual/en/errorfunc.constants.php
###< jop-software/typo3-sentry-client
Add the productionExceptionHandler
/ debugExceptionHandler
to your LocalConfiguration.php
or AdditionalConfiguration.php
file.
$GLOBALS['TYPO3_CONF_VARS']['SYS']['productionExceptionHandler'] = 'Jops\TYPO3\Sentry\Handler\ProductionExceptionHandler';
$GLOBALS['TYPO3_CONF_VARS']['SYS']['debugExceptionHandler'] = 'Jops\TYPO3\Sentry\Handler\DebugExceptionHandler';
If you use the same .htaccess
file for multiple environments like Production / Development, you can move the
SetEnv SENTRY_ENVIRONMENT Production
into the ApplicationContext
section of the TYPO3 htaccess. e.G.:
# Rules to set ApplicationContext based on hostname
RewriteCond %{HTTP_HOST} ^dev\.example\.com$
RewriteRule .? - [E=TYPO3_CONTEXT:Development,E=SENTRY_ENVIRONMENT:Development]
RewriteCond %{HTTP_HOST} ^staging\.example\.com$
RewriteRule .? - [E=TYPO3_CONTEXT:Production/Staging,E=SENTRY_ENVIRONMENT:Production-Staging]
RewriteCond %{HTTP_HOST} ^www\.example\.com$
RewriteRule .? - [E=TYPO3_CONTEXT:Production,E=SENTRY_ENVIRONMENT:Production]
We use DDEV for local development.
With the extension you get a complete TYPO3 DDEV setup. Type ddev start
to start the container.
If you use EXT:headless, you can use the official @nuxtjs/sentry module for the frontend. There is great documentation available here.
This extension itself can be used together with EXT:headless without any known problems.
This project is licensed under GPL-2.0-or-later, see the LICENSE file for more information.
© 2022-2023, jop-software Inh. Johannes Przymusinski