Node.js

Instalar npm install @blipit/node

@blipit/node captura por sí solo las excepciones no controladas y los rechazos de promesas no gestionados, añade handlers para Express y Fastify, y envía logs e intentos de inicio de sesión con la misma clave. Usa la clave secreta; se queda en el servidor.

1Instalar

sh
npm install @blipit/node

2Inicializa primero

Pon esto en un archivo que se ejecute antes que tu app, e impórtalo primero.

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

Añade el handler después de tus rutas para que tanto los errores controlados como los no controlados lleguen a Blipit, con el método, la URL y el user agent de la petición.

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

4Captura manual, logs e intentos de inicio de sesión

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

5Comprueba que funciona

Abre Incidencias en app.blipit.io. El primer evento aparece en unos segundos, agrupado en una incidencia, y los responsables reciben un correo.

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

Conviene saber

  • Ante una excepción no controlada el SDK vacía los eventos pendientes y luego sale con código 1; puedes cambiarlo con onFatal.
  • captureConsole: true convierte console.log y compañía en líneas de log enviadas a la página de Logs.
  • ¿Ya usas @sentry/node? Funciona sin cambios con el DSN https://<public key>@in.blipit.io/<project id>.

¿Atascado? Escribe a support@blipit.io. Las claves y el DSN exacto de cada proyecto están en Claves API en app.blipit.io.