Onde vão parar o console.log e o print, e como ler os registros da sua aplicação

Node.js, Python e DockerDeploy, logs e acesso·· 1.318 visualizações· 3 min de leitura

No seu computador, o console.log (Node.js) e o print (Python) aparecem na tela. No servidor não há tela, e a pergunta é onde foram parar. A resposta curta: na hospedagem compartilhada, o que a aplicação escreve vai para o registro do Passenger, o arquivo que indica no campo Passenger log file da tela da aplicação; num VPS, depende de quem a inicia (PM2, systemd ou Docker). Sem esse registro, depurar uma aplicação é adivinhar.

Onde está o registro, em cada caso

Onde corre Onde ver Comando ou local
Node.js ou Python no cPanel No arquivo do campo Passenger log file (tela do «Setup Node.js App» ou do «Setup Python App»). Indique um arquivo dentro da pasta da aplicação, guarde, reinicie e repita o pedido. Abra-o no Gerenciador de Arquivos, ou no Terminal com tail -n 100 arquivo.log.
VPS com PM2 Nos registros do PM2. pm2 logs nome ou pm2 logs --lines 100
VPS com systemd No diário do sistema. journalctl -u nome -n 100, e -f para seguir ao vivo
Docker Nos registros do contêiner. docker logs nome ou docker compose logs -f serviço

O registro geral de erros do site é outra coisa: apanha erros do servidor web, não o que a sua aplicação escreve. Para esse, veja erros 500, 403, 404 e 508.

Pôr a escrever registros que se leem

1 Defina o arquivo de registro na tela da aplicação (no cPanel), ou use o do PM2, do systemd ou do Docker (num VPS).
2 Escreva com sentido. Em vez de console.log("aqui"), diga o quê e com que valor: o método e o caminho do pedido, o identificador do registro que foi lido, o erro completo. Nunca escreva senhas, chaves nem dados pessoais.
3 Em Python, evite o atraso. Quando a saída vai para um arquivo, o print pode ficar guardado em memória e só aparecer mais tarde. Use print("texto", flush=True), ou o módulo logging, que escreve de imediato. A variável de ambiente PYTHONUNBUFFERED=1 tem o mesmo efeito para toda a aplicação.
4 Reinicie e repita. Faça o pedido que falha e leia as últimas linhas: normalmente a causa está lá. Se a aplicação nem inicia, veja as causas do erro 503.
Um registro sem limite acaba por encher o disco. Numa conta compartilhada, um arquivo que cresce todos os dias gasta espaço, e o espaço é limitado. Apague ou arquive de vez em quando, ou limite o tamanho (em Python, o RotatingFileHandler do módulo logging faz isso). Num VPS, o diário do sistema e os registros do Docker também crescem: veja o Docker a encher o disco.
Em tempo real, no Terminal. Se a conta tem terminal (o Terminal do cPanel), tail -f arquivo.log mostra as linhas à medida que chegam: abra o site em outra aba e veja o que aparece. Para sair, Ctrl+C.

Tem o registro à frente e não percebe a última linha? Envie-nos o domínio, a hora do erro e essa linha.

Abrir um pedido de suporte

VEJA TAMBÉM

Aplicação Node.js no cPanel com erro 503: as causas habituais

Erros do site explicados: 500, 403, 404, 508 e o que fazer

O Terminal do cPanel: uma linha de comandos sem instalar nada

PRODUTO RECOMENDADO

Hospedagem de sites com cPanel

Domínio e SSL incluídos, cópias diárias e o painel que já conhece. desde R$ 36,30/mês (plano de 3 anos, com cupom)

Ver planos
Esta resposta foi útil? Sua resposta nos ajuda a melhorar este artigo.