P
💻DeveloppementIntermediaireAll AIs

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

Adapter ce prompt

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 :

  1. 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
  2. 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
  3. 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
  4. 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
  5. 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
  6. 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

Mettre en place le logging d'une nouvelle API REST ou d'un microserviceRemplacer des console.log ou print par un système de logs structuré professionnelPréparer une application pour la mise en production avec une observabilité complèteDiagnostiquer des problèmes de performance grâce à des logs enrichis et corrélés

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'Optimiseur

Commentaires

  • 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.

📬 Recevez de nouveaux prompts chaque semaine

Rejoignez notre newsletter et ne manquez aucun prompt.

Pour aller plus loin

Prompts similaires

💻DeveloppementAvanceChatGPT

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.

878
💻DeveloppementIntermediaireAll AIs

Rédiger un chart Helm

Empaqueter des applications sous forme de charts Helm

500
💻DeveloppementIntermediaireAll AIs

Helm chart pour application

Créer un Helm chart

543
💻DeveloppementIntermediaireGemini

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.

538