Node.js

Installation npm install @blipit/node

@blipit/node capture de lui-même les exceptions non interceptées et les rejets de promesses non gérés, ajoute des handlers pour Express et Fastify, et envoie logs et tentatives de connexion avec la même clé. Utilisez la clé secrète ; elle reste sur le serveur.

1Installation

sh
npm install @blipit/node

2Initialiser en premier

Placez ceci dans un fichier qui s'exécute avant votre application, et importez-le en premier.

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 ou Fastify

Ajoutez le handler après vos routes pour que les erreurs gérées et non gérées atteignent toutes Blipit, avec la méthode, l'URL et le user agent de la requête.

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());

4Capture manuelle, logs et tentatives de connexion

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();

5Vérifier que ça fonctionne

Ouvrez Problèmes dans app.blipit.io. Le premier événement apparaît en quelques secondes, regroupé en un problème, et les responsables reçoivent un e-mail.

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

Bon à savoir

  • Sur une exception non interceptée, le SDK vide les événements en attente puis quitte avec le code 1 ; remplacez ce comportement avec onFatal.
  • captureConsole: true transforme console.log et consorts en lignes de log envoyées à la page Logs.
  • Déjà sur @sentry/node ? Il fonctionne sans modification avec le DSN https://<public key>@in.blipit.io/<project id>.

Bloqué ? Écrivez à support@blipit.io. Les clés et le DSN exact de chaque projet sont sous Clés API dans app.blipit.io.