📋 Journal des modifications
Toutes les modifications notables de ce projet seront documentées dans ce fichier.
Le format est basé sur Keep a Changelog, et ce projet adhère au Semantic Versioning.
[Non publié]
Ajouté
- Documentation multilingue complète (7 langues)
- Modèles d'issues GitHub (Rapport de bug, Demande de fonctionnalité, Questions)
- Modèle de Pull Request avec vérifications de compatibilité des balises de construction
- Directives de contribution en plusieurs langues
- Code de conduite avec lignes directrices d'application
- Politique de sécurité avec processus de signalement des vulnérabilités
- Documentation API complète avec exemples
- Structure de projet professionnelle et modèles
Modifié
- README amélioré avec documentation complète des fonctionnalités
- Couverture de tests améliorée pour toutes les configurations de balises de construction
- Structure de projet mise à jour pour une meilleure maintenabilité
Documentation
- Ajout du support multilingue pour toute la documentation principale
- Création d'une référence API complète
- Établissement des directives de workflow de contribution
- Mise en œuvre des procédures de signalement de sécurité
[1.0.0] - 2024-01-01
Ajouté
- Fonctionnalité de journalisation de base avec plusieurs niveaux (Trace, Debug, Info, Warn, Error, Fatal, Panic)
- Implémentation de journalisation thread-safe avec mise en pool d'objets
- Support des balises de construction (par défaut, débogage, publication, abandon)
- Interface de formateur personnalisé avec formateur de texte par défaut
- Support de sortie multi-rédacteur
- Capacités d'écriture asynchrone pour les scénarios à haut débit
- Rotation automatique horaire des fichiers de journalisation
- Journalisation contextuelle avec suivi de l'ID de goroutine et de l'ID de trace
- Informations de l'appelant avec profondeur de pile configurable
- Fonctions de commodité au niveau du package global
- Support d'intégration du journaliseur Zap
Performance
- Mise en pool d'objets avec
sync.Pool pour les objets d'entrée et les tampons
- Vérification rapide du niveau pour éviter les opérations coûteuses
- Rédacteur asynchrone pour les écritures de journalisation non bloquantes
- Optimisations des balises de construction pour différents environnements
Balises de construction
- Par défaut : Fonctionnalité complète avec messages de débogage
- Débogage : Informations de débogage améliorées et détails de l'appelant
- Publication : Optimisé pour la production avec messages de débogage désactivés
- Abandon : Performance maximale avec opérations de journalisation no-op
Fonctionnalités principales
- Logger : Structure de journalisation principale avec niveau, sortie et formateur configurables
- Entry : Structure d'enregistrement de journal avec métadonnées complètes
- Levels : Sept niveaux de journalisation de Panic (le plus élevé) à Trace (le plus bas)
- Formatters : Système de formatage enfichable
- Writers : Support de rotation de fichiers et d'écriture asynchrone
- Context : Support de l'ID de goroutine et du traçage distribué
Points forts de l'API
- API de configuration fluide avec chaînage de méthodes
- Méthodes de journalisation simples et formatées (
.Info() et .Infof())
- Clonage de journaliseur pour configurations isolées
- Journalisation contextuelle avec
CloneToCtx()
- Personnalisation des messages de préfixe et de suffixe
- Basculement des informations de l'appelant
Tests
- Suite de tests complète avec une couverture de 93.5%
- Support de tests multi-balises de construction
- Workflows de tests automatisés
- Tests de performance
[0.9.0] - 2023-12-15
Ajouté
- Structure de projet initiale
- Fonctionnalité de journalisation de base
- Filtrage basé sur le niveau
- Support de sortie fichier
Modifié
- Performance améliorée avec mise en pool d'objets
- Gestion des erreurs améliorée
[0.8.0] - 2023-12-01
Ajouté
- Support multi-rédacteur
- Interface de formateur personnalisé
- Capacités d'écriture asynchrone
Corrigé
- Fuites de mémoire dans les scénarios à haut débit
- Conditions de course dans l'accès concurrent
[0.7.0] - 2023-11-15
Ajouté
- Support des balises de construction pour la compilation conditionnelle
- Journalisation de niveau Trace et débogage
- Suivi des informations de l'appelant
Modifié
- Modèles d'allocation mémoire optimisés
- Sécurité des threads améliorée
[0.6.0] - 2023-11-01
Ajouté
- Fonctionnalité de rotation des fichiers de journalisation
- Journalisation contextuelle
- Suivi de l'ID de goroutine
Obsolète
- Anciennes méthodes de configuration (seront supprimées dans v1.0.0)
[0.5.0] - 2023-10-15
Ajouté
- Formateur JSON
- Plusieurs destinations de sortie
- Tests de performance
Modifié
- Refactorisation du moteur de journalisation principal
- Cohérence de l'API améliorée
Supprimé
- Anciennes méthodes de journalisation
[0.4.0] - 2023-10-01
Ajouté
- Journalisation de niveau Fatal et Panic
- Fonctions globales du package
- Validation de la configuration
Corrigé
- Problèmes de synchronisation de la sortie
- Optimisation de l'utilisation mémoire
[0.3.0] - 2023-09-15
Ajouté
- Niveaux de journalisation personnalisés
- Interface de formateur
- Opérations thread-safe
Modifié
- Conception de l'API simplifiée
- Documentation améliorée
[0.2.0] - 2023-09-01
Ajouté
- Support de sortie fichier
- Filtrage basé sur le niveau
- Options de formatage de base
Corrigé
- Goulots d'étranglement de performance
- Fuites de mémoire
[0.1.0] - 2023-08-15
Ajouté
- Publication initiale
- Journalisation de console de base
- Support de niveau simple (Info, Warn, Error)
- Structure de journalisation principale
Résumé de l'historique des versions
| Version |
Date de publication |
Fonctionnalités principales |
| 1.0.0 |
2024-01-01 |
Système de journalisation complet, balises de construction, écriture asynchrone, documentation complète |
| 0.9.0 |
2023-12-15 |
Améliorations de performance, mise en pool d'objets |
| 0.8.0 |
2023-12-01 |
Multi-rédacteur, écriture asynchrone, formateurs personnalisés |
| 0.7.0 |
2023-11-15 |
Balises de construction, niveaux Trace/débogage, informations de l'appelant |
| 0.6.0 |
2023-11-01 |
Rotation des fichiers, journalisation contextuelle, suivi de goroutine |
| 0.5.0 |
2023-10-15 |
Formateur JSON, sorties multiples, tests de performance |
| 0.4.0 |
2023-10-01 |
Niveaux Fatal/Panic, fonctions globales |
| 0.3.0 |
2023-09-15 |
Niveaux personnalisés, interface de formateur |
| 0.2.0 |
2023-09-01 |
Sortie fichier, filtrage par niveau |
| 0.1.0 |
2023-08-15 |
Publication initiale, journalisation de console de base |
Guides de migration
Migration de v0.9.x vers v1.0.0
Modifications avec rupture
- Aucune - v1.0.0 est rétrocompatible avec v0.9.x
Nouvelles fonctionnalités disponibles
- Support des balises de construction amélioré
- Documentation complète
- Modèles de projet professionnels
- Procédures de signalement de sécurité
Mises à jour recommandées
// Ancienne méthode (toujours supportée)
logger := log.New()
logger.SetLevel(log.InfoLevel)
// Nouvelle méthode recommandée avec chaînage de méthodes
logger := log.New().
SetLevel(log.InfoLevel).
Caller(true).
SetPrefixMsg("[MyApp] ")
Migration de v0.8.x vers v0.9.x
Modifications avec rupture
- Suppression des méthodes de configuration obsolètes
- Modification de la gestion des tampons internes
Étapes de migration
-
Mettre à jour les chemins d'importation si nécessaire
-
Remplacer les méthodes obsolètes :
// Ancienne (obsolète)
logger.SetOutputFile("app.log")
// Nouvelle
file, _ := os.Create("app.log")
logger.SetOutput(file)
Migration de v0.5.x et versions antérieures
Modifications majeures
- Conception complète de l'API pour une meilleure cohérence
- Performance améliorée avec mise en pool d'objets
- Nouveau système de balises de construction
Migration requise
- Mettre à jour tous les appels de journalisation vers la nouvelle API
- Réviser et mettre à jour les implémentations de formateur
- Tester avec les nouvelles configurations de balises de construction
Jalons de développement
🎯 Feuille de route v1.1.0 (Planifié)
🎯 Feuille de route v1.2.0 (Futur)
Contribution
Nous accueillons les contributions ! Veuillez consulter notre Guide de contribution pour plus de détails sur :
- Signalement de bugs et demandes de fonctionnalités
- Processus de soumission de code
- Configuration du développement
- Exigences de tests
- Normes de documentation
Sécurité
Pour les vulnérabilités de sécurité, veuillez consulter notre Politique de sécurité pour :
- Versions supportées
- Procédures de signalement
- Chronologie de réponse
- Bonnes pratiques de sécurité
Support
Licence
Ce projet est sous licence MIT - voir le fichier LICENSE pour plus de détails.
🌍 Documentation multilingue
Ce journal des modifications est disponible en plusieurs langues :
Suivez chaque amélioration et restez informé de l'évolution de LazygoPHers Log ! 🚀
Ce journal des modifications est mis à jour automatiquement avec chaque publication. Pour les informations les plus récentes, consultez la page GitHub Releases.