Repolode
debug-js

debug-js/debug

Uma pequena ferramenta de debugging para JavaScript que imprime mensagens com namespaces no Node.js e em navegadores, ativadas pela variável de ambiente DEBUG.

Estrelas
11,458
Forks
998
Issues abertas
98
Último commit
há 11 dias

O que é?

debug é uma pequena ferramenta de logging para JavaScript, inspirada na técnica de debugging usada no core do Node.js. Você cria uma função de debug com um nome de namespace, como 'http' ou 'worker:a', e a saída só é impressa quando esse namespace é ativado pela variável de ambiente DEBUG. Wildcards e exclusões, como DEBUG=connect:* ou DEBUG=*,-connect:*, permitem limitar a saída a partes específicas de uma aplicação.

A biblioteca funciona tanto no Node.js quanto em navegadores. No Node.js, escreve em stderr, oferece cores por namespace e exibe a diferença de tempo em milissegundos entre chamadas. Nos navegadores, o estado de ativação é armazenado no localStorage. A biblioteca usa formatadores no estilo printf, como %o, %O, %s, %d e %j, e é possível adicionar formatadores personalizados estendendo debug.formatters.

Também estão disponíveis APIs para estender namespaces, verificar se um namespace está ativado e ativar ou desativar a saída em tempo de execução.

Recursos principais

  • 01Funções de debug com namespaces, ativadas pela variável de ambiente DEBUG.
  • 02Padrões com wildcards e exclusões para filtrar a saída.
  • 03Funciona no Node.js e em navegadores, com cores quando há suporte.
  • 04Diferença de tempo em milissegundos entre chamadas ou timestamps ISO quando a saída não é um TTY.
  • 05Formatadores no estilo printf, com suporte a formatadores personalizados.
  • 06APIs para ativar, desativar e estender em tempo de execução.

Casos de uso

  • Adicionar logs de debug que podem ser ativados e desativados em uma biblioteca ou aplicação Node.js, sem gerar ruído por padrão.
  • Rastrear o processamento de requisições ou a atividade de workers em um processo de servidor por namespace.
  • Depurar código frontend no navegador definindo localStorage.debug.

Início rápido

  1. 1

    Instale o pacote com npm

    npm install debug
  2. 2

    Crie uma instância de debug no código com um namespace e, em seguida, execute o app com DEBUG ativado (macOS/Linux)

    DEBUG=* node app.js

Antes de usar

  • A saída de Debug é exibida apenas para namespaces ativados pela variável de ambiente DEBUG ou por localStorage.debug.
  • No Node.js, o módulo opcional supports-color é necessário para oferecer suporte à paleta completa de cores.

Em coleções

Tópicos

Perguntas frequentes

O que é debug?
Uma pequena ferramenta de debugging para JavaScript que imprime mensagens com namespaces no Node.js e em navegadores, ativadas pela variável de ambiente DEBUG. debug é uma pequena ferramenta de logging para JavaScript, inspirada na técnica de debugging usada no core do Node.js. Você cria uma função de debug com um nome de namespace, como 'http' ou 'worker:a', e a saída só é impressa quando esse namespace é ativado pela variável de ambiente DEBUG. Wildcards e exclusões, como DEBUG=connect:* ou DEBUG=*,-connect:*, permitem limitar a saída a partes específicas de uma aplicação.
debug é gratuito? Qual é a licença?
debug é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
debug ainda é mantido?
Manutenção ativa. O último commit de debug foi em 14 de out. de 2026.
Para que posso usar debug?
Adicionar logs de debug que podem ser ativados e desativados em uma biblioteca ou aplicação Node.js, sem gerar ruído por padrão. Rastrear o processamento de requisições ou a atividade de workers em um processo de servidor por namespace. Depurar código frontend no navegador definindo localStorage.debug.
Como instalar debug?
Instale o pacote com npm: npm install debug Crie uma instância de debug no código com um namespace e, em seguida, execute o app com DEBUG ativado (macOS/Linux): DEBUG=* node app.js
Onde consigo debug?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/debug-js/debug

Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.

Projetos relacionados