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.
|
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 |