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.

Build log viewer -- showing Docker build output with layer caching indicators, step numbers, and timestamps

Coisas comuns para procurar nos logs de build:

  • Erros de dependência -- Falhas em npm install, pip install ou 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.
Example build log output
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 a1b2c3d4e5f6

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

Runtime log viewer -- showing timestamped log entries with color-coded severity levels (info, warn, error)

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").
Log streaming controls -- showing pause/resume button, auto-scroll indicator, and timestamp format toggle
Note
Se seu serviço tem múltiplas réplicas, o visualizador de logs mescla logs de todos os contêineres em um único stream. Cada entrada é marcada com o ID do contêiner para que você possa distinguir entre réplicas.

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).
Log filter bar -- showing time range dropdown, container selector, stream toggle (stdout/stderr), and severity dropdown
Tip
Filtrar por stderr é uma forma rápida de ver apenas saída de erros. A maioria das aplicações escreve saída normal em stdout e erros em stderr.

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.

  1. Clique no ícone de pesquisa ou pressione Ctrl + F (ou Cmd + F no macOS).
  2. Digite sua consulta de pesquisa.
  3. Entradas correspondentes são destacadas no visualizador de logs.
  4. Use as setas para cima/baixo na barra de pesquisa para navegar entre correspondências.
Search examples
# 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,}ms

Baixando 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, awk ou qualquer ferramenta de processamento de texto.
  • JSON (.json) -- Formato estruturado com timestamp, ID do contêiner, stream (stdout/stderr) e campos de mensagem.
JSON log export format
{
  "timestamp": "2026-03-21T14:30:05.123Z",
  "container": "my-api-1",
  "stream": "stdout",
  "message": "GET /health 200 2ms"
}
Note
Logs baixados respeitam os filtros ativos e o intervalo de tempo. Para baixar todos os logs disponíveis, limpe todos os filtros e defina o intervalo de tempo para o máximo antes de exportar.

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 LogRetenção PadrãoConfigurável
Logs de buildÚltimos 20 buildsSim
Logs de runtime7 diasSim (1-90 dias)
Logs de cron jobsÚltimas 100 execuçõesSim

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.

Tip
Para aplicações que produzem alto volume de logs, considere reduzir a retenção para 3 dias e usar o recurso de download para arquivar logs importantes. Você também pode configurar sua aplicação para reduzir a verbosidade dos logs em produção.
Log retention settings -- showing retention period inputs for build logs, runtime logs, and cron job logs