Logs
Acesse logs de build e runtime para cada serviço. Transmita logs em tempo real, filtre por severidade, pesquise padrões específicos e baixe logs para análise offline.
Logs de Build vs. Logs de Runtime
O sh0 captura dois tipos distintos de logs para cada serviço. Entender a diferença ajuda a encontrar a informação que você precisa rapidamente.
Logs de Build
Logs de build capturam tudo que acontece durante o processo de construção da imagem. Isso inclui execução de camadas do Dockerfile, instalação de dependências, saída de compilação e erros de build.
Logs de build são acessíveis pela aba Implantações. Cada implantação tem seu próprio log de build.
Coisas comuns para procurar nos logs de build:
- Erros de dependência -- Falhas em
npm install,pip installou resolução de pacotes. - Erros de compilação -- Falhas de compilação TypeScript, Rust, Go ou outras.
- Cache hits -- Camadas marcadas como "CACHED" que aceleram o build.
- Tamanho da imagem -- O tamanho final da imagem é mostrado no final do build.
Step 1/8 : FROM node:20-alpine
---> 2d8f48ba52c1
Step 2/8 : WORKDIR /app
---> Using cache
---> 8a3d2e1f5b7c
Step 3/8 : COPY package*.json ./
---> Using cache
---> 4f2a1b3c8d9e
Step 4/8 : RUN npm ci --production
---> Running in 7e6d5c4b3a2f
added 847 packages in 12.3s
Step 5/8 : COPY . .
---> 1a2b3c4d5e6f
Step 6/8 : RUN npm run build
---> Running in 9f8e7d6c5b4a
Build completed successfully
Step 7/8 : EXPOSE 3000
Step 8/8 : CMD ["node", "dist/server.js"]
Successfully built a1b2c3d4e5f6Logs de Runtime
Logs de runtime capturam a saída da sua aplicação em execução -- tudo que seu processo escreve em stdout e stderr. Isso inclui logs de requisições HTTP, erros da aplicação, mensagens de debug e qualquer outra saída.
Acesse logs de runtime pela aba Logs na página de detalhes do serviço.
Streaming de Logs em Tempo Real
O visualizador de logs transmite logs em tempo real usando conexões WebSocket. Novas entradas de log aparecem instantaneamente na parte inferior do visualizador conforme são produzidas pela sua aplicação.
- Auto-scroll -- O visualizador rola automaticamente para mostrar as entradas mais recentes. Role para cima para pausar o auto-scroll e inspecionar entradas mais antigas.
- Pausar / Retomar -- Clique no botão Pausar para parar o stream temporariamente. Logs são armazenados em buffer e aparecem quando você retomar.
- Formato de timestamp -- Cada linha é prefixada com um timestamp. Clique no botão de formato de timestamp para alternar entre relativo ("2s atrás") e absoluto ("2026-03-21 14:30:05").
Filtrando Logs
Filtre logs para focar no que importa. O sh0 fornece várias opções de filtragem:
- Intervalo de tempo -- Ver logs dos últimos 15 minutos, 1 hora, 6 horas, 24 horas ou um intervalo personalizado.
- Contêiner -- Quando um serviço tem múltiplas réplicas, filtre por uma instância específica de contêiner.
- Stream -- Mostrar apenas stdout, apenas stderr ou ambos.
- Severidade -- Se sua aplicação usa logging estruturado, filtre por nível de severidade (debug, info, warn, error).
Pesquisando Logs
Use a barra de pesquisa para encontrar entradas específicas no stream de logs. A pesquisa suporta correspondência de texto simples e expressões regulares básicas.
- Clique no ícone de pesquisa ou pressione Ctrl + F (ou Cmd + F no macOS).
- Digite sua consulta de pesquisa.
- Entradas correspondentes são destacadas no visualizador de logs.
- Use as setas para cima/baixo na barra de pesquisa para navegar entre correspondências.
# Find all error messages
ERROR
# Find a specific user ID
user_id=12345
# Find requests to a specific endpoint
POST /api/users
# Find slow requests (regex)
took [0-9]{4,}msBaixando Logs
Baixe logs para análise offline, arquivamento ou compartilhamento com sua equipe. Clique no botão Download no visualizador de logs para exportar os logs atualmente visíveis.
- Texto simples (.log) -- Saída bruta de log com timestamps, pronta para
grep,awkou qualquer ferramenta de processamento de texto. - JSON (.json) -- Formato estruturado com timestamp, ID do contêiner, stream (stdout/stderr) e campos de mensagem.
{
"timestamp": "2026-03-21T14:30:05.123Z",
"container": "my-api-1",
"stream": "stdout",
"message": "GET /health 200 2ms"
}Retenção de Logs
O sh0 retém logs com base na sua configuração. Configurações padrão de retenção equilibram uso de armazenamento com necessidades de depuração:
| Tipo de Log | Retenção Padrão | Configurável |
|---|---|---|
| Logs de build | Últimos 20 builds | Sim |
| Logs de runtime | 7 dias | Sim (1-90 dias) |
| Logs de cron jobs | Últimas 100 execuções | Sim |
Para ajustar as configurações de retenção, navegue até Configurações → Logs e atualize os valores de retenção. Reduzir a retenção economiza espaço em disco no servidor.