1.0.0 • Published 2d ago
debug-lite-js
Licence
MIT
Version
1.0.0
Deps
1
Size
6 kB
Vulns
0
Weekly
0
debug-lite-js
Utilitário Node.js para facilitar o debug de aplicações backend com logs estruturados, pretty print, timers e captura de erros.
Recursos
- Logs inteligentes com níveis
info,warn,erroredebug - Timestamp em cada mensagem
- Cores no console com
chalk - Pretty print de objetos JSON e nested objects
- Debug condicional via
DEBUG=true - Timer de execução com
startTimer/endTimer - Função de captura de erros com stack trace formatado
Instalação
npm install debug-lite-js
Uso básico
const debug = require('debug-lite-js');
debug.info('Servidor iniciado');
debug.warn('Espaço em disco baixo');
debug.error('Erro inesperado');
debug.debug('Dados de depuração', { user: 'admin' });
debug.pretty({
user: 'admin',
roles: ['admin', 'editor'],
profile: { age: 30, active: true },
});
Exemplo real em Express
const express = require('express');
const debug = require('debug-lite-js');
const app = express();
const port = process.env.PORT || 3000;
app.use(express.json());
app.use((req, res, next) => {
debug.info('Request recebida', { method: req.method, path: req.path });
if (debug.isDebugEnabled()) {
debug.pretty({ headers: req.headers, query: req.query, body: req.body });
}
next();
});
app.get('/', (req, res) => {
debug.startTimer('home-route');
res.send('Hello World');
debug.endTimer('home-route');
});
app.get('/users/:id', async (req, res) => {
const userId = req.params.id;
debug.info('Buscando usuário', userId);
debug.startTimer('fetch-user');
try {
// Simula busca de usuário
const user = { id: userId, name: 'Maria', role: 'admin' };
debug.pretty(user);
res.json(user);
} catch (error) {
debug.logError(error, 'Falha ao buscar usuário');
res.status(500).json({ error: 'Erro interno' });
} finally {
debug.endTimer('fetch-user');
}
});
app.use((err, req, res, next) => {
debug.logError(err, 'Erro de middleware');
res.status(500).json({ error: 'Erro interno do servidor' });
});
app.listen(port, () => {
debug.info(`Servidor Express rodando na porta ${port}`);
});
Ativar logs de debug
DEBUG=true node app.js
API Exportada
log(level, message, ...meta)info(message, ...meta)warn(message, ...meta)error(message, ...meta)debug(message, ...meta)logError(error, message)isDebugEnabled()pretty(value, options)startTimer(label)endTimer(label, options)
debug-lite-js foi criado para tornar as rotinas de depuração mais visuais e rápidas no Node.js.