Node.js

Instalar npm install @blipit/node

O @blipit/node captura exceções não capturadas e rejeições de promise não tratadas por conta própria, adiciona handlers para Express e Fastify, e envia logs e tentativas de login com a mesma chave. Use a chave secreta; ela fica no servidor.

1Instalar

sh
npm install @blipit/node

2Inicialize primeiro

Coloque isto em um arquivo que rode antes do seu app, e importe-o primeiro.

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

Adicione o handler depois das suas rotas para que erros tratados e não tratados cheguem ao Blipit, com o método, a URL e o user agent da requisição.

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 tentativas de login

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

5Confira se funciona

Abra Problemas em app.blipit.io. O primeiro evento aparece em alguns segundos, agrupado em um problema, e os responsáveis recebem um e-mail.

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

Bom saber

  • Em uma exceção não capturada, o SDK envia os eventos pendentes e depois encerra com código 1; sobrescreva com onFatal.
  • captureConsole: true transforma console.log e afins em linhas de log enviadas à página de Logs.
  • Já usa @sentry/node? Ele funciona sem alterações com o DSN https://<public key>@in.blipit.io/<project id>.

Travou? Envie um e-mail para support@blipit.io. As chaves e o DSN exato de cada projeto ficam em Chaves de API no app.blipit.io.