CWSANDBOX_API_KEY. Pour l’authentification par clé API Forge, consultez Premiers pas. Pour les exigences relatives à CKS, consultez Modes de placement.
Ce guide explique comment capturer les journaux de conteneur d’une sandbox afin de surveiller l’activité de votre processus principal, de déboguer des échecs ou d’inspecter la sortie une fois la sandbox arrêtée.
Les journaux de conteneur correspondent aux flux stdout et stderr du processus principal d’une sandbox. Diffusez-les en continu avec stream_logs(), qui capture la sortie de la commande passée à Sandbox.run(). La sortie des commandes exec() n’est pas incluse : utilisez pour cela Process.stdout ou Process.stderr.
stream_logs() renvoie un StreamReader qui génère des lignes de journal. Vous pouvez le parcourir de manière synchrone ou asynchrone.
Lorsque vous appelez
Sandbox.run() sans commande, la commande par défaut de la sandbox n’écrit ni dans stdout ni dans stderr : stream_logs() ne renvoie donc aucune sortie. Passez une commande qui écrit dans stdout ou stderr.Récupérer les journaux récents
Utiliseztail_lines pour récupérer les dernières lignes du journal sans diffuser en continu l’intégralité de l’historique. C’est pratique pour inspecter rapidement une sandbox en cours d’exécution.
Mode suivi
Diffusez les journaux en continu, comme avectail -f. L’itérateur reste bloquant jusqu’à l’arrivée de nouvelles données.
Ctrl+C pour arrêter l’itération.
Filtrer par date
Passezsince_time pour récupérer uniquement les journaux postérieurs à un horodatage donné. Vous limitez ainsi la sortie à la fenêtre qui vous intéresse, par exemple les journaux générés depuis un déploiement ou un incident.
Horodatages
Définisseztimestamps=True pour préfixer chaque ligne d’un horodatage ISO 8601 fourni par le serveur. Les horodatages côté serveur permettent de corréler les événements de la sandbox avec ceux d’autres systèmes.
Itération asynchrone
Si votre application utiliseasyncio, parcourez le même StreamReader avec async for pour ne pas bloquer la boucle d’événements.
Récupérer les journaux des sandboxes arrêtées
Les journaux restent disponibles après l’arrêt d’une sandbox, ce qui vous permet d’analyser les échecs ou de consulter la sortie des tâches terminées. Récupérez l’historique des journaux des sandboxes terminées, en échec ou interrompues :follow=False (valeur par défaut).
Voir aussi
- Exécution de commandes : exécuter des commandes et diffuser leur sortie en continu avec
exec() - Synchrone ou asynchrone : modèles d’itération