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

5.0 KiB

📦 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

# 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

# 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

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

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 ! 🎉