#!/bin/bash # Script pour collecter les logs de tous les services # Usage: ./scripts/collect-logs.sh [service_name] set -e LOG_DIR="logs" TIMESTAMP=$(date +"%Y%m%d_%H%M%S") if [ $# -eq 1 ]; then # Collecter les logs d'un service spécifique SERVICE=$1 if [ -d "$LOG_DIR/$SERVICE" ]; then echo "📊 Collecte des logs pour $SERVICE..." docker logs "$SERVICE" > "$LOG_DIR/$SERVICE/${SERVICE}_${TIMESTAMP}.log" 2>&1 echo "✅ Logs collectés: $LOG_DIR/$SERVICE/${SERVICE}_${TIMESTAMP}.log" else echo "❌ Service $SERVICE non trouvé" exit 1 fi else # Collecter les logs de tous les services echo "📊 Collecte des logs de tous les services..." for service in bitcoin-signet blindbit-oracle sdk_relay sdk_signer sdk_storage lecoffre-back lecoffre-front ihm_client tor-proxy signet_miner; do if docker ps --format "table {{.Names}}" | grep -q "^${service}$"; then echo "📝 Collecte des logs pour $service..." mkdir -p "$LOG_DIR/${service##*-}" # Enlever le préfixe si nécessaire docker logs "$service" > "$LOG_DIR/${service##*-}/${service}_${TIMESTAMP}.log" 2>&1 echo "✅ Logs collectés pour $service" else echo "⚠️ Service $service non en cours d'exécution" fi done fi echo "🎉 Collecte terminée!"