sourcefinder/export_logger/EXPORT_INFO.md
Alexis Trouvé a7bd6115b7
Some checks failed
SourceFinder CI/CD Pipeline / Code Quality & Linting (push) Has been cancelled
SourceFinder CI/CD Pipeline / Unit Tests (push) Has been cancelled
SourceFinder CI/CD Pipeline / Security Tests (push) Has been cancelled
SourceFinder CI/CD Pipeline / Integration Tests (push) Has been cancelled
SourceFinder CI/CD Pipeline / Performance Tests (push) Has been cancelled
SourceFinder CI/CD Pipeline / Code Coverage Report (push) Has been cancelled
SourceFinder CI/CD Pipeline / Build & Deployment Validation (16.x) (push) Has been cancelled
SourceFinder CI/CD Pipeline / Build & Deployment Validation (18.x) (push) Has been cancelled
SourceFinder CI/CD Pipeline / Build & Deployment Validation (20.x) (push) Has been cancelled
SourceFinder CI/CD Pipeline / Regression Tests (push) Has been cancelled
SourceFinder CI/CD Pipeline / Security Audit (push) Has been cancelled
SourceFinder CI/CD Pipeline / Notify Results (push) Has been cancelled
feat: Implémentation complète du système SourceFinder avec tests
- Architecture modulaire avec injection de dépendances
- Système de scoring intelligent multi-facteurs (spécificité, fraîcheur, qualité, réutilisation)
- Moteur anti-injection 4 couches (preprocessing, patterns, sémantique, pénalités)
- API REST complète avec validation et rate limiting
- Repository JSON avec index mémoire et backup automatique
- Provider LLM modulaire pour génération de contenu
- Suite de tests complète (Jest) :
  * Tests unitaires pour sécurité et scoring
  * Tests d'intégration API end-to-end
  * Tests de sécurité avec simulation d'attaques
  * Tests de performance et charge
- Pipeline CI/CD avec GitHub Actions
- Logging structuré et monitoring
- Configuration ESLint et environnement de test

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-15 23:06:10 +08:00

161 lines
5.0 KiB
Markdown

# 📦 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 !** 🎉