Skip to Content

Treblle Docs

The official Treblle SDK for JavaScript frameworks including Fastify. Seamlessly integrate Treblle to manage communication with your dashboard, send errors, and secure sensitive data.

Treblle with Fastify

To integrate Treblle with Fastify, we provide an official unified SDK for JavaScript frameworks - treblle-node.

Requirements

  • Node.js: >=16.0.0
  • Fastify: 4.x or later

Installation

npm install treblle@^2.0.0

Setting up credentials

Create a free account on treblle.com to get your credentials:

  • sdkToken (SDK Token)
  • apiKey (API Key)

Add these to your .env file:

TREBLLE_SDK_TOKEN=your_sdk_token TREBLLE_API_KEY=your_api_key

Basic Setup

Initialize Treblle in your Fastify application:

const fastify = require('fastify')(); const { fastifyTreblle } = require('treblle'); // Register Treblle plugin await fastify.register(fastifyTreblle, { sdkToken: process.env.TREBLLE_SDK_TOKEN, apiKey: process.env.TREBLLE_API_KEY, }); // Your routes fastify.get('/api/users', async (request, reply) => { return { users: [] }; }); await fastify.listen({ port: 3000 });

Tip

That’s it! Your API requests and responses are now being sent to your Treblle Dashboard. You’ll get features like auto-documentation, real-time request/response monitoring, and error tracking.

Configuration Options

You can pass additional configuration options:

await fastify.register(fastifyTreblle, { sdkToken: process.env.TREBLLE_SDK_TOKEN, apiKey: process.env.TREBLLE_API_KEY, additionalFieldsToMask: ["customSecret", "internalId"], // Optional blocklistPaths: ["admin", "health"], // Optional: Skip logging certain paths ignoreDefaultBlockedPaths: false, // Optional: Disable default blocked paths debug: true, // Optional: Show Treblle errors in console });

Available options:

Option

Description

sdkToken (required)

Your Treblle SDK token

apiKey (required)

Your Treblle API key

additionalFieldsToMask (optional)

Array of field names to mask in addition to default fields

blocklistPaths (optional)

Array of path prefixes or RegExp to exclude from logging

ignoreDefaultBlockedPaths (optional)

Boolean to disable default blocked paths (default: false)

debug (optional)

Boolean to show Treblle-related errors in console (default: false)

Production-only Setup

Run Treblle only in production:

if (process.env.NODE_ENV === "production") { await fastify.register(fastifyTreblle, { sdkToken: process.env.TREBLLE_SDK_TOKEN, apiKey: process.env.TREBLLE_API_KEY, }); }

Masking Sensitive Data

The following fields are automatically masked:

  • password, pwd, secret, password_confirmation, passwordConfirmation
  • cc, card_number, cardNumber, ccv
  • ssn
  • credit_score, creditScore

Add custom fields to mask:

await fastify.register(fastifyTreblle, { sdkToken: process.env.TREBLLE_SDK_TOKEN, apiKey: process.env.TREBLLE_API_KEY, additionalFieldsToMask: ["customSecret", "licensee_key"], });

Debugging

Enable debug mode to see Treblle errors in your console:

await fastify.register(fastifyTreblle, { sdkToken: process.env.TREBLLE_SDK_TOKEN, apiKey: process.env.TREBLLE_API_KEY, debug: true, });
Last updated on