Sistema completo de interceptação, logging e monitoramento para aplicações Express. Capture métricas, analise performance e garanta a segurança de suas APIs.
Tudo que você precisa para monitorar e otimizar suas APIs
Capture todas as requisições HTTP com detalhes completos sobre método, URL, headers e corpo da requisição.
Monitore duração, frequência e padrões de uso de cada endpoint com estatísticas em tempo real.
Sistema de logs estruturados com níveis configuráveis e suporte a loggers personalizados.
Registro detalhado de IPs, headers e dados para compliance e investigação de incidentes.
Suporte completo ao TypeScript com tipagens precisas e autocomplete inteligente.
Biblioteca leve e eficiente sem dependências externas, mantendo seu bundle otimizado.
Integre em minutos, monitore para sempre
const express = require('express');
const { requestInterceptor } = require('advanced-http-request-interceptor');
const app = express();
// Interceptar todas as requisições
app.use(requestInterceptor({
enableLogging: true,
enablePerformanceMonitoring: true,
enableAuditLogging: true
}));
app.get('/api/users', (req, res) => {
res.json([{ id: 1, name: 'João' }]);
});
app.listen(3000);
const fs = require('fs');
const { requestInterceptor } = require('advanced-http-request-interceptor');
// Logger personalizado
const customLogger = (level, message, data) => {
const entry = `[${new Date().toISOString()}] [${level}] ${message}\n`;
fs.appendFileSync('api.log', entry + JSON.stringify(data, null, 2) + '\n');
};
app.use(requestInterceptor({
parseBody: true,
maxBodySize: 5 * 1024 * 1024, // 5MB
logLevel: 'debug',
customLogger,
onRequest: (req, requestInfo) => {
if (requestInfo.duration > 500) {
console.warn(`🐌 Slow request: ${requestInfo.url} took ${requestInfo.duration}ms`);
}
}
}));
const { MetricsCollector } = require('advanced-http-request-interceptor');
// Endpoint para visualizar métricas
app.get('/health/metrics', (req, res) => {
const metricsCollector = MetricsCollector.getInstance();
const metrics = metricsCollector.getMetrics();
res.json({
summary: {
totalRoutes: Object.keys(metrics).length,
totalRequests: Object.values(metrics).reduce((sum, m) => sum + m.count, 0)
},
routeMetrics: Object.entries(metrics).map(([route, data]) => ({
route,
requestCount: data.count,
averageDuration: `${data.averageDuration.toFixed(2)}ms`,
minDuration: `${data.minDuration}ms`,
maxDuration: `${data.maxDuration}ms`
}))
});
});
Como implementamos observabilidade total em uma aplicação real
A aplicação ServiConnect estava operando como uma "caixa preta" - sem visibilidade das requisições HTTP, dificultando debugging e monitoramento de performance.
Implementação do Advanced HTTP Request Interceptor em apenas 2 horas, transformando completamente a observabilidade da aplicação.
Veja você mesmo os resultados que centenas de desenvolvedores já estão obtendo
Começar Agora - É GrátisGuias detalhados para maximizar o potencial da biblioteca
Demonstração ao vivo dos recursos
Clique nos botões acima para simular requisições
Instale a biblioteca e comece a monitorar suas APIs em menos de 5 minutos.
Via NPM ou Yarn
Adicionar middleware
Acompanhar métricas
npm install advanced-http-request-interceptor
yarn add advanced-http-request-interceptor