Naar de inhoud

Blog · 31 oktober 2026

Foutmeldingen uit Symfony met de Sentry-bundle

Met de Sentry-bundle en de Flex-recipe die je al kent.

Symfony toont fouten in de profiler en schrijft ze naar var/log. In productie wil je ze ergens hebben waar je ze ook echt ziet, gegroepeerd en met de request erbij. De officiële Sentry-bundle werkt zonder aanpassingen met errors.nl.

1. Maak een project aan

Log in bij errors.nl, maak een organisatie en een project aan en kopieer de DSN. Die ziet eruit als https://<sleutel>@ingest.errors.nl/<project>.

2. Installeer de bundle

composer require sentry/sentry-symfony

De Flex-recipe registreert de bundle, maakt config/packages/sentry.yaml aan en zet SENTRY_DSN in je .env. Zet de echte DSN in .env.local of in de omgevingsvariabelen van je server, niet in git:

SENTRY_DSN=https://<sleutel>@ingest.errors.nl/<project>

3. Configureer per omgeving

De recipe zet de configuratie onder when@prod, zodat je lokaal en in tests niets verstuurt. Een goede basis:

when@prod:
    sentry:
        dsn: '%env(SENTRY_DSN)%'
        options:
            environment: '%kernel.environment%'
            release: '%env(default::SENTRY_RELEASE)%'
            send_default_pii: false
        tracing:
            enabled: false

errors.nl doet niets met performance-data. Met tracing uit stuurt de bundle die ook niet mee, en scheelt dat je app wat werk.

4. Test het

Maak tijdelijk een route die een exception gooit en roep hem aan in je productie- of stagingomgeving:

#[Route('/_fout-test')]
public function test(): Response
{
    throw new \RuntimeException('Testfout voor errors.nl');
}

Binnen een paar seconden staat hij onder Issues, met de route, de controller en de stacktrace.

5. Releases

Zet bij elke deploy SENTRY_RELEASE, bijvoorbeeld op de git-commit. Dan zie je bij welke release een fout begon, en zet errors.nl een opgeloste fout terug op open als hij in een nieuwe release weer opduikt.

SENTRY_RELEASE=webshop@$(git rev-parse --short HEAD)

6. Messenger en commands

De bundle vangt ook fouten in console-commands en Messenger-workers af. Gebruik je Monolog en wil je dat $logger->error() ook in errors.nl komt, koppel dan de Sentry-handler van de bundle in monolog.yaml. Let op: elke opgeslagen fout kost een credit, dus stuur alleen niveau error en hoger.

7. Persoonsgegevens

Met send_default_pii: false stuurt de bundle geen IP-adressen, cookies of de ingelogde gebruiker mee. Wil je wel weten welke gebruiker een fout zag, geef dan alleen een id mee en geen naam of e-mailadres.

errors.nl filtert daarnaast wachtwoorden, tokens, e-mailadressen en rekeningnummers uit elke fout voordat we die opslaan. Meer daarover lees je in Foutmonitoring en de AVG.

Meldingen

Wil je weten wanneer er iets misgaat zonder het dashboard open te hebben? Zet bij je project een melding per e-mail aan, of koppel Slack, Teams, Discord of ntfy voor pushmeldingen op je telefoon.

Gratis starten Bekijk de demo