Logs
Accédez aux logs de build et d'exécution pour chaque service. Diffusez les logs en temps réel, filtrez par sévérité, recherchez des schémas spécifiques et téléchargez les logs pour une analyse hors ligne.
Logs de build vs logs d'exécution
sh0 capture deux types distincts de logs pour chaque service. Comprendre la différence vous aide à trouver rapidement l'information dont vous avez besoin.
Logs de build
Les logs de build capturent tout ce qui se passe pendant le processus de construction de l'image. Cela inclut l'exécution des couches Dockerfile, l'installation des dépendances, la sortie de compilation et les erreurs de build.
Les logs de build sont accessibles depuis l'onglet Déploiements. Chaque déploiement a son propre log de build.
Éléments courants à rechercher dans les logs de build :
- Erreurs de dépendances -- Échec de
npm install,pip installou résolution de paquets. - Erreurs de compilation -- Échecs de compilation TypeScript, Rust, Go ou autres.
- Hits de cache -- Couches marquées « CACHED » qui accélèrent le build.
- Taille de l'image -- La taille finale de l'image est affichée à la fin du 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 d'exécution
Les logs d'exécution capturent la sortie de votre application en cours d'exécution -- tout ce que votre processus écrit sur stdout et stderr. Cela inclut les logs de requêtes HTTP, les erreurs applicatives, les messages de débogage et toute autre sortie.
Accédez aux logs d'exécution depuis l'onglet Logs sur la page de détail du service.
Diffusion de logs en temps réel
La visionneuse de logs diffuse les logs en temps réel via des connexions WebSocket. Les nouvelles entrées de log apparaissent instantanément en bas de la visionneuse au fur et à mesure qu'elles sont produites par votre application.
- Défilement automatique -- La visionneuse défile automatiquement pour montrer les dernières entrées. Faites défiler vers le haut pour mettre en pause le défilement automatique et inspecter les entrées plus anciennes.
- Pause / Reprise -- Cliquez sur le bouton Pause pour arrêter temporairement le flux. Les logs sont mis en tampon et apparaissent lorsque vous reprenez.
- Format d'horodatage -- Chaque ligne est préfixée d'un horodatage. Cliquez sur le bouton de format d'horodatage pour basculer entre relatif (« il y a 2s ») et absolu (« 2026-03-21 14:30:05 »).
Filtrage des logs
Filtrez les logs pour vous concentrer sur l'essentiel. sh0 fournit plusieurs options de filtrage :
- Plage temporelle -- Voir les logs des 15 dernières minutes, 1 heure, 6 heures, 24 heures, ou une plage de dates personnalisée.
- Conteneur -- Lorsqu'un service a plusieurs réplicas, filtrez par instance de conteneur spécifique.
- Flux -- Afficher uniquement stdout, uniquement stderr, ou les deux.
- Sévérité -- Si votre application utilise la journalisation structurée, filtrez par niveau de sévérité (debug, info, warn, error).
Recherche dans les logs
Utilisez la barre de recherche pour trouver des entrées spécifiques dans le flux de logs. La recherche prend en charge la correspondance de texte brut et les expressions régulières de base.
- Cliquez sur l'icône de recherche ou appuyez sur Ctrl + F (ou Cmd + F sur macOS).
- Tapez votre requête de recherche.
- Les entrées correspondantes sont surlignées dans la visionneuse de logs.
- Utilisez les flèches haut/bas dans la barre de recherche pour naviguer entre les correspondances.
# 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,}msTéléchargement des logs
Téléchargez les logs pour une analyse hors ligne, l'archivage ou le partage avec votre équipe. Cliquez sur le bouton Télécharger dans la visionneuse de logs pour exporter les logs actuellement visibles.
- Texte brut (.log) -- Sortie de log brute avec horodatages, prête pour
grep,awkou tout outil de traitement de texte. - JSON (.json) -- Format structuré avec horodatage, ID du conteneur, flux (stdout/stderr) et champs de message.
{
"timestamp": "2026-03-21T14:30:05.123Z",
"container": "my-api-1",
"stream": "stdout",
"message": "GET /health 200 2ms"
}Rétention des logs
sh0 conserve les logs selon votre configuration. Les paramètres de rétention par défaut équilibrent l'utilisation du stockage et les besoins de débogage :
| Type de log | Rétention par défaut | Configurable |
|---|---|---|
| Logs de build | 20 derniers builds | Oui |
| Logs d'exécution | 7 jours | Oui (1-90 jours) |
| Logs de tâches cron | 100 dernières exécutions | Oui |
Pour ajuster les paramètres de rétention, accédez à Paramètres → Logs et mettez à jour les valeurs de rétention. Réduire la rétention économise de l'espace disque sur le serveur.