Node.js

Installazione npm install @blipit/node

@blipit/node cattura da solo eccezioni non catturate e promise rejection non gestite, aggiunge handler per Express e Fastify, e invia log e tentativi di accesso con la stessa chiave. Usa la chiave segreta; resta sul server.

1Installazione

sh
npm install @blipit/node

2Inizializza per primo

Mettilo in un file che viene eseguito prima della tua app, e importalo per primo.

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

Aggiungi l'handler dopo le tue route così sia gli errori gestiti che quelli non gestiti raggiungono Blipit, con metodo, URL e user agent della richiesta.

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

4Cattura manuale, log e tentativi di accesso

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

5Verifica che funzioni

Apri Issue in app.blipit.io. Il primo evento compare entro pochi secondi, raggruppato in una issue, e i responsabili ricevono un'email.

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

Buono a sapersi

  • In caso di eccezione non catturata l'SDK invia gli eventi in sospeso, poi esce con codice 1; puoi sovrascriverlo con onFatal.
  • captureConsole: true trasforma console.log e simili in righe di log inviate alla pagina Log.
  • Sei già su @sentry/node? Funziona senza modifiche con il DSN https://<public key>@in.blipit.io/<project id>.

Bloccato? Scrivi a support@blipit.io. Le chiavi e il DSN esatto di ogni progetto sono sotto Chiavi API in app.blipit.io.