Naar de inhoud

Blog · 31 oktober 2026

Foutmeldingen uit Node.js en Express

Van Express-route tot vergeten await: alles in één overzicht.

Een Node.js-proces dat crasht wordt door je process manager opnieuw gestart, en niemand merkt iets. Tot het elk uur gebeurt. Een promise zonder catch verdwijnt zelfs helemaal. Met de Sentry SDK voor Node en errors.nl zie je die fouten, met de request en de stacktrace erbij.

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 SDK

npm install @sentry/node

3. Laad hem als eerste

De SDK moet geladen zijn voordat je andere modules importeert. Zet de setup in een eigen bestand, instrument.js:

const Sentry = require("@sentry/node");

Sentry.init({
  dsn: process.env.SENTRY_DSN,
  environment: process.env.NODE_ENV,
  release: process.env.SENTRY_RELEASE,
});

En laad dat bestand als allereerste regel van je app:

require("./instrument");
const express = require("express");

Gebruik je ES modules, start je app dan met node --import ./instrument.mjs app.mjs.

4. Koppel je framework

Voor Express zet je de error handler na al je routes, en voor je eigen error handlers:

const app = express();
// ... je routes
Sentry.setupExpressErrorHandler(app);

Voor Fastify gebruik je Sentry.setupFastifyErrorHandler(app), voor Koa Sentry.setupKoaErrorHandler(app).

5. Test het

app.get("/fout-test", () => {
  throw new Error("Testfout voor errors.nl");
});

Roep de route aan, en binnen een paar seconden staat de fout onder Issues. Onafgehandelde promises en exceptions buiten een request vangt de SDK vanzelf af.

6. Workers en scripts

In een queue-worker of cronscript vang je fouten zelf af en stuur je ze door. Wacht bij een kort script tot alles verstuurd is, voordat het proces stopt:

try {
  await verwerkFacturen();
} catch (e) {
  Sentry.captureException(e);
  await Sentry.flush(2000);
  process.exit(1);
}

Persoonsgegevens

Laat sendDefaultPii uit staan: dan stuurt de SDK geen IP-adressen, cookies of request-body mee. Performance-monitoring doet errors.nl niet; zet je tracesSampleRate niet, dan stuurt de SDK die data ook niet.

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