You're Invited:Meet the Socket Team at BlackHat and DEF CON in Las Vegas, Aug 4-6.RSVP
Socket
Book a DemoInstallSign in
Socket

api-stats-logger

Package Overview
Dependencies
Maintainers
1
Versions
26
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

api-stats-logger

SDK completo de logging e monitoramento de APIs com nova estrutura de logs organizada, auto-instrumentação, dashboard em tempo real e CLI para configuração automática. Suporta logs estruturados por contexto (HTTP, business, security, system) com campos op

2.3.7
latest
Source
npmnpm
Version published
Weekly downloads
1.6K
12076.92%
Maintainers
1
Weekly downloads
 
Created
Source

API Stats Logger

npm version License: MIT

SDK profissional para logging e monitoramento de APIs em Node.js com instrumentação automática.

🚀 Instalação

npm install api-stats-logger

⚡ Início Rápido

Configuração Automática (Recomendado)

npx api-stats-init

Este comando irá:

  • ✅ Configurar automaticamente o projeto
  • ✅ Gerar API key
  • ✅ Criar arquivos de configuração
  • ✅ Detectar seu framework automaticamente

Configuração Manual

const ApiStatsLogger = require('api-stats-logger');

const logger = new ApiStatsLogger({
  apiKey: process.env.API_STATS_API_KEY,
  service: 'minha-api',
  environment: 'production'
});

// Logging manual
logger.info('Usuário logado', { userId: 123 });
logger.error('Erro no banco', { error: 'timeout' });

🔧 Frameworks Suportados

Express.js

const express = require('express');
const ApiStatsLogger = require('api-stats-logger');

const app = express();
const logger = new ApiStatsLogger();

// Middleware automático
app.use(ApiStatsLogger.expressMiddleware({ logger }));

app.listen(3000);

NestJS

// Adicione no main.ts
import { ApiStatsLogger } from 'api-stats-logger';

async function bootstrap() {
  const app = await NestFactory.create(AppModule);
  
  const logger = new ApiStatsLogger();
  app.use(ApiStatsLogger.nestMiddleware({ logger }));
  
  await app.listen(3000);
}

Fastify & Koa

// Fastify
fastify.register(ApiStatsLogger.fastifyPlugin());

// Koa
app.use(ApiStatsLogger.koaMiddleware());

📊 Recursos

  • 🚀 Auto-instrumentação - Captura automática de requests/responses
  • 📈 Métricas de Performance - Response time, throughput, error rate
  • 🔍 Rastreamento Distribuído - Trace IDs para debugging
  • 🛡️ Segurança - Headers sensíveis automaticamente filtrados
  • 📦 Zero Configuração - Funciona out-of-the-box
  • 🔄 Retry Logic - Resiliente a falhas de rede
  • 📱 Dashboard - Interface web para visualização

⚙️ Configuração Avançada

const logger = new ApiStatsLogger({
  apiKey: process.env.API_STATS_API_KEY,
  service: 'minha-api',
  environment: 'production',
  
  // Performance
  batchSize: 50,
  flushInterval: 5000,
  maxRetries: 3,
  
  // Recursos
  captureErrors: true,
  capturePerformance: true,
  
  // Segurança
  captureBody: false,
  captureHeaders: false
});

🔒 Segurança

O SDK automaticamente filtra headers sensíveis:

  • authorization
  • cookie
  • x-api-key
  • x-auth-token

📚 Exemplos

Logging de Operações

async function processPayment(paymentData) {
  const operationId = `payment_${Date.now()}`;
  
  logger.info('Payment started', { operationId, amount: paymentData.amount });
  
  try {
    const result = await paymentGateway.process(paymentData);
    logger.info('Payment completed', { operationId, paymentId: result.id });
    return result;
  } catch (error) {
    logger.error('Payment failed', { operationId, error: error.message });
    throw error;
  }
}

Middlewares Customizados

// Express middleware customizado
app.use(ApiStatsLogger.expressMiddleware({
  logger,
  captureBody: false,
  captureHeaders: false,
  skipPaths: ['/health', '/metrics']
}));

🔧 Variáveis de Ambiente

# Obrigatório
API_STATS_API_KEY=sua-api-key-aqui

# Opcionais
API_STATS_SERVICE=minha-api
API_STATS_ENVIRONMENT=production
API_STATS_URL=https://api.exemplo.com/logs
API_STATS_ENABLED=true
API_STATS_BATCH_SIZE=20
API_STATS_FLUSH_INTERVAL=5000

📈 Métricas Coletadas

  • HTTP Requests: Response time, status codes, throughput
  • Erros: Stack traces, frequência, categorização
  • Performance: Uso de recursos, uptime
  • Operações de Negócio: Transações, conversões

🆘 Suporte

📜 Licença

MIT License - veja LICENSE para detalhes.

Desenvolvido com ❤️ para desenvolvedores Node.js

Keywords

logging

FAQs

Package last updated on 14 Jul 2025

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts