Registros
Accede a registros de compilación y ejecución de cada servicio. Transmite registros en tiempo real, filtra por severidad, busca patrones específicos y descarga registros para análisis sin conexión.
Registros de compilación vs. registros de ejecución
sh0 captura dos tipos distintos de registros para cada servicio. Entender la diferencia te ayuda a encontrar la información que necesitas rápidamente.
Registros de compilación
Los registros de compilación capturan todo lo que sucede durante el proceso de construcción de la imagen. Esto incluye la ejecución de capas del Dockerfile, instalación de dependencias, salida de compilación y errores de construcción.
Los registros de compilación son accesibles desde la pestaña Despliegues. Cada despliegue tiene su propio registro de compilación.
Cosas comunes a buscar en los registros de compilación:
- Errores de dependencias --
npm install,pip installfallidos o problemas de resolución de paquetes. - Errores de compilación -- Fallas en tiempo de compilación de TypeScript, Rust, Go u otros.
- Aciertos de caché -- Capas marcadas como "CACHED" que aceleran la compilación.
- Tamaño de la imagen -- El tamaño final de la imagen se muestra al final de la compilación.
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 a1b2c3d4e5f6Registros de ejecución
Los registros de ejecución capturan la salida de tu aplicación en ejecución -- todo lo que tu proceso escribe en stdout y stderr. Esto incluye registros de solicitudes HTTP, errores de la aplicación, mensajes de depuración y cualquier otra salida.
Accede a los registros de ejecución desde la pestaña Registros en la página de detalle del servicio.
Transmisión de registros en tiempo real
El visor de registros transmite registros en tiempo real usando conexiones WebSocket. Las nuevas entradas de registro aparecen instantáneamente en la parte inferior del visor a medida que tu aplicación las produce.
- Desplazamiento automático -- El visor se desplaza automáticamente para mostrar las últimas entradas. Desplázate hacia arriba para pausar el desplazamiento automático e inspeccionar entradas anteriores.
- Pausar / Reanudar -- Haz clic en el botón Pausar para detener el flujo temporalmente. Los registros se almacenan en búfer y aparecen cuando reanudas.
- Formato de marca de tiempo -- Cada línea tiene un prefijo con una marca de tiempo. Haz clic en el botón de formato de marca de tiempo para alternar entre relativo ("hace 2s") y absoluto ("2026-03-21 14:30:05").
Filtrar registros
Filtra registros para enfocarte en lo que importa. sh0 proporciona varias opciones de filtrado:
- Rango de tiempo -- Ver registros de los últimos 15 minutos, 1 hora, 6 horas, 24 horas o un rango de fechas personalizado.
- Contenedor -- Cuando un servicio tiene múltiples réplicas, filtra por una instancia de contenedor específica.
- Flujo -- Mostrar solo stdout, solo stderr o ambos.
- Severidad -- Si tu aplicación usa registro estructurado, filtra por nivel de severidad (debug, info, warn, error).
Buscar en registros
Usa la barra de búsqueda para encontrar entradas específicas en el flujo de registros. La búsqueda admite coincidencia de texto plano y expresiones regulares básicas.
- Haz clic en el ícono de búsqueda o presiona Ctrl + F (o Cmd + F en macOS).
- Escribe tu consulta de búsqueda.
- Las entradas que coinciden se resaltan en el visor de registros.
- Usa las flechas arriba/abajo en la barra de búsqueda para saltar entre coincidencias.
# 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,}msDescargar registros
Descarga registros para análisis sin conexión, archivo o para compartir con tu equipo. Haz clic en el botón Descargar en el visor de registros para exportar los registros actualmente visibles.
- Texto plano (.log) -- Salida de registros sin formato con marcas de tiempo, lista para
grep,awko cualquier herramienta de procesamiento de texto. - JSON (.json) -- Formato estructurado con campos de marca de tiempo, ID de contenedor, flujo (stdout/stderr) y mensaje.
{
"timestamp": "2026-03-21T14:30:05.123Z",
"container": "my-api-1",
"stream": "stdout",
"message": "GET /health 200 2ms"
}Retención de registros
sh0 retiene registros según tu configuración. La configuración de retención predeterminada equilibra el uso de almacenamiento con las necesidades de depuración:
| Tipo de registro | Retención predeterminada | Configurable |
|---|---|---|
| Registros de compilación | Últimas 20 compilaciones | Sí |
| Registros de ejecución | 7 días | Sí (1-90 días) |
| Registros de tareas cron | Últimas 100 ejecuciones | Sí |
Para ajustar la configuración de retención, navega a Configuración → Registros y actualiza los valores de retención. Reducir la retención ahorra espacio en disco en el servidor.