Skip to content

helhum/sentry-typo3

Repository files navigation

Sentry TYPO3 Integration

Exception and error logging with Sentry, see https://sentry.io

Sentry provides open-source and hosted error monitoring that helps all software teams discover, triage, and prioritize errors in real-time.

Sentry is available as SaaS including a free plan for developers or as download for self-hosting.

This package is a wrapper for https://github.com/getsentry/sentry-php

Installation

$ composer require helhum/sentry-typo3

Configuration

Set the dsn in your global configuration:

$GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['sentry']['dsn'] = 'http://public_key:secret_key@your-sentry-server.com/project-id';

It is possible to change / add other Sentry options like this:

$GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['sentry'][<sentry option>];

Since the integration is purely done with log writers, make sure you add at least one writer. It is recommended to add a global writer as follows:

$GLOBALS['TYPO3_CONF_VARS']['LOG']['writerConfiguration'][\TYPO3\CMS\Core\Log\LogLevel::WARNING] = [
    \Helhum\SentryTypo3\Log\Writer\SentryWriter::class => [],
];

To get additional information for each error/warning logged, add the breadcrumb writer as well

$GLOBALS['TYPO3_CONF_VARS']['LOG']['writerConfiguration'][\TYPO3\CMS\Core\Log\LogLevel::INFO][\Helhum\SentryTypo3\Log\Writer\SentryBreadcrumbWriter::class] = [];

If you want to have different environments to filter by in Sentry, you can set them like this:

$GLOBALS['TYPO3_CONF_VARS']['SYS']['environment'] = 'development';

Where should I put the configuration?

This package expects settings to be exposed in main TYPO3 configuration (aka `TYPO3_CONF_VARS). How you expose it, totally depends on your use case, your deployment strategy and project structure.

This means: Put the configuration in either LocalConfiguration.php or AdditionalConfiguration.php depending on your needs and structure of your project.

How to test the connection to Sentry?

Run typo3 sentry:test cli command, that is provided and some messages should be reported to the configured Sentry endpoint.

Improvements / Issues

This package is managed on GitHub. Feel free to get in touch at https://github.com/helhum/sentry-typo3