Node.js

Installeren npm install @blipit/node

@blipit/node vangt uit zichzelf uncaught exceptions en unhandled promise rejections, voegt handlers toe voor Express en Fastify, en verstuurt logs en inlogpogingen met dezelfde sleutel. Gebruik de geheime sleutel; die blijft op de server.

1Installeren

sh
npm install @blipit/node

2Initialiseer als eerste

Zet dit in een bestand dat vóór je app draait, en importeer het als eerste.

instrument.mjs
import * as Blipit from "@blipit/node";

Blipit.init({
  key: process.env.BLIPIT_SECRET_KEY,
  environment: process.env.NODE_ENV,
  release: process.env.RELEASE,
  serverName: "api",
});

3Express of Fastify

Voeg de handler toe na je routes, zodat afgehandelde en niet-afgehandelde fouten allebei Blipit bereiken, met de methode, URL en user agent van het request.

js
import "./instrument.mjs";
import * as Blipit from "@blipit/node";
import express from "express";

const app = express();
app.get("/", (req, res) => res.send("ok"));
app.use(Blipit.expressErrorHandler());
app.listen(3000);
Fastify
await app.register(Blipit.fastifyPlugin());

4Handmatige capture, logs en inlogpogingen

js
Blipit.captureException(err);
Blipit.captureMessage("cache miss rate above 50%", "warning");
Blipit.setUser({ id: "user-42" });
Blipit.log.info("order placed", { order_id: 42 });
Blipit.captureSecurity({ kind: "login_failed", actor: email, ip, userAgent, outcome: "bad_password" });
await Blipit.flush();

5Check of het werkt

Open Issues in app.blipit.io. Het eerste event verschijnt binnen een paar seconden, gegroepeerd in een issue, en de verantwoordelijken krijgen een e-mail.

js
Blipit.captureMessage("Hello from Node");

Goed om te weten

  • Bij een uncaught exception flusht de SDK de wachtende events en stopt daarna met exitcode 1; overschrijf dit met onFatal.
  • captureConsole: true maakt van console.log en verwanten logregels die naar de pagina Logs worden verstuurd.
  • Al op @sentry/node? Die werkt ongewijzigd met de DSN https://<public key>@in.blipit.io/<project id>.

Kom je er niet uit? Mail support@blipit.io. Sleutels en de exacte DSN van elk project staan onder API-sleutels in app.blipit.io.