Docs/ Operaciones/ Registros

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.

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

Cosas comunes a buscar en los registros de compilación:

  • Errores de dependencias -- npm install, pip install fallidos 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.
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

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

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

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").
Log streaming controls -- showing pause/resume button, auto-scroll indicator, and timestamp format toggle
Note
Si tu servicio tiene múltiples réplicas, el visor de registros fusiona los registros de todos los contenedores en un solo flujo. Cada entrada está etiquetada con el ID del contenedor para que puedas distinguir entre réplicas.

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).
Log filter bar -- showing time range dropdown, container selector, stream toggle (stdout/stderr), and severity dropdown
Tip
Filtrar por stderr es una forma rápida de ver solo la salida de errores. La mayoría de las aplicaciones escriben la salida normal en stdout y los errores en stderr.

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.

  1. Haz clic en el ícono de búsqueda o presiona Ctrl + F (o Cmd + F en macOS).
  2. Escribe tu consulta de búsqueda.
  3. Las entradas que coinciden se resaltan en el visor de registros.
  4. Usa las flechas arriba/abajo en la barra de búsqueda para saltar entre coincidencias.
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

Descargar 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, awk o cualquier herramienta de procesamiento de texto.
  • JSON (.json) -- Formato estructurado con campos de marca de tiempo, ID de contenedor, flujo (stdout/stderr) y mensaje.
JSON log export format
{
  "timestamp": "2026-03-21T14:30:05.123Z",
  "container": "my-api-1",
  "stream": "stdout",
  "message": "GET /health 200 2ms"
}
Note
Los registros descargados respetan los filtros activos y el rango de tiempo. Para descargar todos los registros disponibles, limpia todos los filtros y establece el rango de tiempo al máximo antes de exportar.

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 registroRetención predeterminadaConfigurable
Registros de compilaciónÚltimas 20 compilaciones
Registros de ejecución7 díasSí (1-90 días)
Registros de tareas cronÚltimas 100 ejecuciones

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.

Tip
Para aplicaciones que producen alto volumen de registros, considera reducir la retención a 3 días y usar la función de descarga para archivar registros importantes. También puedes configurar tu aplicación para reducir la verbosidad de registros en producción.
Log retention settings -- showing retention period inputs for build logs, runtime logs, and cron job logs