# 📦 Export Système de Logging SEO Generator

## 🎯 Contenu de l'export

Ce dossier contient le système de logging complet extrait du SEO Generator, **sans les dépendances Google Sheets**.

### 📁 Fichiers inclus

```
export_logger/
├── ErrorReporting.js     # 🏠 Système de logging centralisé (nettoyé)
├── trace.js              # 🌲 Système de traçage hiérarchique
├── trace-wrap.js         # 🔧 Utilitaires de wrapping
├── logviewer.cjs         # 📊 Outil CLI de consultation logs
├── logs-viewer.html      # 🌐 Interface web temps réel
├── log-server.cjs        # 🚀 Serveur WebSocket pour logs
├── package.json          # 📦 Configuration npm
├── demo.js               # 🎬 Démonstration complète
├── README.md             # 📚 Documentation complète
└── EXPORT_INFO.md        # 📋 Ce fichier
```

## 🧹 Modifications apportées

### ❌ Supprimé de ErrorReporting.js:
- Toutes les fonctions Google Sheets (`logToGoogleSheets`, `cleanGoogleSheetsLogs`, etc.)
- Configuration `SHEET_ID` et authentification Google
- Imports `googleapis`
- Variables `sheets` et `auth`
- Appels Google Sheets dans `logSh()` et `cleanLogSheet()`

### ✅ Conservé:
- Système de logging Pino (console + fichier + WebSocket)
- Traçage hiérarchique complet
- Interface web temps réel
- Outils CLI de consultation
- Formatage coloré et timestamps
- Gestion des niveaux (TRACE, DEBUG, INFO, WARN, ERROR)

## 🚀 Intégration dans votre projet

### Installation manuelle
```bash
# 1. Copier les fichiers
cp ErrorReporting.js yourproject/lib/
cp trace.js yourproject/lib/
cp trace-wrap.js yourproject/lib/
cp logviewer.cjs yourproject/tools/
cp logs-viewer.html yourproject/tools/
cp log-server.cjs yourproject/tools/

# 2. Installer dépendances
npm install ws pino pino-pretty

# 3. Ajouter scripts package.json
npm pkg set scripts.logs="node tools/logviewer.cjs"
npm pkg set scripts.logs:pretty="node tools/logviewer.cjs --pretty"
npm pkg set scripts.logs:server="node tools/log-server.cjs"
```

## 🧪 Test rapide

```bash
# Lancer la démonstration
node demo.js

# Consulter les logs générés
npm run logs:pretty

# Interface web temps réel
npm run logs:server
# Puis ouvrir logs-viewer.html
```

## 💻 Utilisation dans votre code

```javascript
const { logSh, setupTracer } = require('./lib/ErrorReporting');

// Logging simple
logSh('Mon application démarrée', 'INFO');
logSh('Erreur détectée', 'ERROR');

// Traçage hiérarchique
const tracer = setupTracer('MonModule');
await tracer.run('maFonction', async () => {
  logSh('▶ Début opération', 'TRACE');
  // ... votre code
  logSh('✔ Opération terminée', 'TRACE');
}, { param1: 'value1' });
```

## 🎨 Fonctionnalités principales

### 📊 Multi-output
- **Console** : Formatage coloré en temps réel
- **Fichier** : JSON structuré dans `logs/seo-generator-YYYY-MM-DD_HH-MM-SS.log`
- **WebSocket** : Diffusion temps réel pour interface web

### 🌲 Traçage hiérarchique
- Suivi d'exécution avec AsyncLocalStorage
- Paramètres de fonction capturés
- Durées de performance
- Symboles visuels (▶ ✔ ✖)

### 🔍 Consultation des logs
- **CLI** : `npm run logs:pretty`
- **Web** : Interface temps réel avec filtrage
- **Recherche** : Par niveau, mot-clé, date, module

### 🎯 Niveaux intelligents
- **TRACE** : Flux d'exécution détaillé
- **DEBUG** : Information de débogage
- **INFO** : Événements importants
- **WARN** : Situations inhabituelles
- **ERROR** : Erreurs avec stack traces

## 🔧 Configuration

### Variables d'environnement
```bash
LOG_LEVEL=DEBUG          # Niveau minimum (défaut: INFO)
WEBSOCKET_PORT=8081      # Port WebSocket (défaut: 8081)
ENABLE_CONSOLE_LOG=true  # Console output (défaut: false)
```

### Personnalisation avancée
Modifier directement `ErrorReporting.js` pour:
- Changer les couleurs console
- Ajouter des champs de log personnalisés
- Modifier le format des fichiers
- Personnaliser les niveaux de log

## 📈 Intégration production

1. **Rotation des logs** : Utiliser `logrotate` ou équivalent
2. **Monitoring** : Interface web pour surveillance temps réel
3. **Alerting** : Parser les logs ERROR pour notifications
4. **Performance** : Logs TRACE désactivables en production

## 🎯 Avantages de cet export

✅ **Standalone** - Aucune dépendance Google Sheets
✅ **Portable** - Fonctionne dans n'importe quel projet Node.js
✅ **Complet** - Toutes les fonctionnalités logging préservées
✅ **Documenté** - Guide complet d'installation et d'usage
✅ **Démonstration** - Exemples concrets inclus
✅ **Production-ready** - Optimisé pour usage professionnel

## 📞 Support

Ce système de logging est extrait du SEO Generator et fonctionne de manière autonome.
Toutes les fonctionnalités de logging, traçage et visualisation sont opérationnelles.

**Documentation complète** : Voir `README.md`
**Démonstration** : Lancer `node demo.js`
**Test rapide** : Lancer `node install.js` puis `npm run logs:pretty`

---

🎉 **Votre système de logging professionnel est prêt !** 🎉