Créer un système de logs structurés pour vos applications
Un prompt complet pour générer un système de logging structuré en JSON avec gestion des niveaux, masquage des données sensibles, rotation et intégration aux stacks d'observabilité.
Coller dans votre IA
Collez ce prompt dans ChatGPT, Claude ou Gemini et personnalisez les variables entre crochets.
Tu es un ingénieur backend senior spécialisé en observabilité et monitoring. Conçois un système de logs structurés complet pour une application [LANGAGE/FRAMEWORK] en production.
Contexte du projet :
- Type d'application : [TYPE_APPLICATION (ex: API REST, microservice, application web, CLI)]
- Environnements cibles : [ENVIRONNEMENTS (ex: développement, staging, production)]
- Volume estimé de logs : [VOLUME (ex: 1000 req/min, 10000 events/jour)]
- Stack d'agrégation existante : [STACK_LOGS (ex: ELK, Grafana Loki, Datadog, aucune)]
Livre les éléments suivants :
-
Architecture du système de logging :
- Choix de la librairie de logging avec justification
- Format structuré (JSON) avec schéma détaillé des champs obligatoires et optionnels
- Niveaux de log (DEBUG, INFO, WARN, ERROR, FATAL) avec politique claire d'utilisation de chaque niveau et exemples concrets
-
Implémentation du logger central :
- Classe ou module de logging réutilisable avec configuration centralisée
- Support du contexte de requête (request ID, user ID, session ID) via propagation automatique
- Enrichissement automatique des logs (timestamp ISO 8601, hostname, PID, version de l'app)
- Gestion des données sensibles : masquage automatique (mots de passe, tokens, emails) via patterns configurables
-
Middlewares et intercepteurs :
- Middleware de logging HTTP : méthode, URL, status code, durée, taille de la réponse
- Intercepteur pour les appels base de données : requête (sans données sensibles), durée, nombre de résultats
- Intercepteur pour les appels à des services externes : endpoint, durée, succès/échec
-
Gestion des erreurs dans les logs :
- Capture automatique des stack traces avec contexte enrichi
- Corrélation des erreurs avec le request ID pour le traçage
- Niveaux d'alerte selon la criticité avec seuils configurables
-
Rotation et rétention :
- Stratégie de rotation des fichiers (taille max, durée)
- Politique de rétention par environnement
- Configuration pour le streaming vers la stack d'agrégation
-
Performance et bonnes pratiques :
- Logging asynchrone pour ne pas bloquer le thread principal
- Sampling des logs DEBUG/TRACE en production
- Tests unitaires pour valider le format et le contenu des logs
Fournis le code complet, documenté, avec des commentaires expliquant chaque décision technique. Inclus un exemple d'utilisation dans un endpoint réel et un fichier de configuration par environnement.
Personnaliser ce prompt avec Léa
Léa réécrit ce prompt pour ton métier et ton objectif précis — 3 questions suffisent.
Pourquoi ce prompt fonctionne
<p>Ce prompt guide l'IA pour produire un système de logs structurés de qualité production. En précisant votre <strong>langage ou framework</strong>, vous obtenez du code directement utilisable. Le champ <strong>[TYPE_APPLICATION]</strong> permet d'adapter les middlewares et intercepteurs à votre architecture réelle.</p><p>Les logs structurés en JSON sont essentiels pour l'observabilité moderne : ils permettent le filtrage, l'agrégation et l'alerting automatisé. Le prompt couvre les aspects souvent négligés comme le <strong>masquage des données sensibles</strong> (RGPD), la <strong>corrélation par request ID</strong> pour le debugging distribué, et le <strong>sampling en production</strong> pour maîtriser les coûts de stockage.</p><p>Pour de meilleurs résultats, soyez précis sur votre stack existante dans <strong>[STACK_LOGS]</strong>. L'IA adaptera les formats de sortie et les transports en conséquence. Vous pouvez itérer ensuite en demandant des ajouts spécifiques comme des métriques Prometheus ou des traces OpenTelemetry.</p>
Cas d'usage
Résultat attendu
Un système de logging complet avec le code source du logger central, les middlewares, les fichiers de configuration par environnement, des exemples d'utilisation concrets et les tests unitaires associés.
Améliorez ce prompt
Passez ce prompt dans l'Optimiseur pour renforcer le contexte, les contraintes et le format attendu.
Améliore ce prompt avec l'OptimiseurCommentaires
- LéaIA
Pensez à définir un contrat de schéma JSON versionné (ex. `log.version: "1.0"`) dès la conception. Cela évite les ruptures de compatibilité lors de l’évolution des champs et facilite les migrations côté agrégation. Ajoutez aussi un champ `trace.id` compatible OpenTelemetry pour corréler logs, métriques et traces si la stack évolue.
Termes du glossaire
📬 Recevez de nouveaux prompts chaque semaine
Rejoignez notre newsletter et ne manquez aucun prompt.
Pour aller plus loin
Prompts similaires
Maîtriser les types avancés TypeScript
Renforcez la sécurité de type de votre code TypeScript avec des types génériques avancés, utility types et discriminated unions.
Rédiger un chart Helm
Empaqueter des applications sous forme de charts Helm
Helm chart pour application
Créer un Helm chart
Prompt Gemini pour créer des tests E2E
Les tests end-to-end (E2E) sont essentiels pour garantir le bon fonctionnement d'une application dans son ensemble, mais leur rédaction est souvent chronophage et répétitive. Gemini, le modèle d'IA de Google, excelle dans la génération de code structuré et peut considérablement accélérer la création de suites de tests E2E complètes. En lui fournissant le contexte technique de votre application — stack technologique, parcours utilisateurs critiques, et framework de test utilisé — Gemini peut produire des scénarios de test robustes couvrant les flux principaux comme les cas limites. Que vous utilisiez Playwright, Cypress ou Selenium, l'IA s'adapte aux conventions de votre framework pour générer du code directement exploitable. L'approche par prompt engineering permet de spécifier précisément le niveau de couverture souhaité, les patterns de sélecteurs à privilégier, et la stratégie de gestion des données de test. Le résultat : des tests maintenables, lisibles et alignés avec les bonnes pratiques de votre équipe, produits en une fraction du temps habituel.