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

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

Onde está o registo, em cada caso

Onde corre Onde ver Comando ou local
Node.js ou Python no cPanel No ficheiro do campo Passenger log file (ecrã do «Setup Node.js App» ou do «Setup Python App»). Indique um ficheiro dentro da pasta da aplicação, guarde, reinicie e repita o pedido. Abra-o no Gestor de Ficheiros, ou no Terminal com tail -n 100 ficheiro.log.
VPS com PM2 Nos registos 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 em directo
Docker Nos registos do contentor. docker logs nome ou docker compose logs -f serviço

O registo 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 registos que se lêem

1 Defina o ficheiro de registo no ecrã 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 registo 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 ficheiro, 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 arranca, veja as causas do erro 503.
Um registo sem limite acaba por encher o disco. Numa conta partilhada, um ficheiro 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 registos 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 ficheiro.log mostra as linhas à medida que chegam: abra o site noutro separador e veja o que aparece. Para sair, Ctrl+C.

Tem o registo à 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

Alojamento de sites com cPanel

Domínio e SSL incluídos, cópias diárias e o painel que já conhece. desde 5.940,00 Kz/mês (plano de 3 anos, com cupão)

Ver planos
  • 0 Utilizadores acharam útil
Esta resposta foi útil?