0Pricing
MCP Academy · Leçon

Journaux structurés interrogeables

Émettez des journaux JSON avec corrélation des requêtes.

Journaux structurés interrogeables est une leçon MCP Academy gratuite sur CoddyKit. Ceci est la leçon 2 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage MCP Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours MCP Academy comprend 4 leçons au total.

Certaines parties de cette leçon n'ont pas encore été traduites et s'affichent en anglais.

Logs You Can Actually Use

Plain text logs read fine to a human but fight you at scale. Structured logs store each event as data, so machines can filter and search them fast. 🔎

Why JSON Wins

Emit each log line as a JSON object. Every field becomes searchable, so you can query by tool, status, or duration without fragile text parsing.

Anatomy of a Log Event

A good event carries a timestamp, a level, a message, and context fields. Together they tell you what happened, when, and why.

{"ts": "2026-01-01T10:00:00Z",
 "level": "info",
 "msg": "tool called",
 "tool": "search"}

Pick Sensible Levels

Use log levels with intent: debug for detail, info for normal flow, warning for trouble, error for failures. Levels let you turn noise up or down.

The Correlation ID

Give each request a unique correlation ID and stamp it on every log it produces. Now one search pulls the full story of a single call.

Generate an ID

A UUID makes a fine correlation ID: it is unique enough to never collide across requests.

import uuid

request_id = str(uuid.uuid4())
print(request_id)

Log to stderr, Not stdout

Over stdio, stdout carries the MCP protocol itself. Always send logs to stderr so they never corrupt the JSON-RPC messages.

Python's logging Module

Python's built-in logging module gives you levels and handlers for free. Point a handler at stderr and you are halfway there.

import logging, sys

logging.basicConfig(stream=sys.stderr,
                    level=logging.INFO)
log = logging.getLogger("mcp")

Add Fields, Not Strings

Resist stuffing values into the message text. Pass them as extra fields so each one stays its own searchable column later.

log.info("tool finished",
         extra={"tool": "search",
                "ms": 42})

Never Log Secrets

Logs travel and persist, so redact tokens, keys, and personal data before writing them. A leaked secret in a log is a real breach. 🔒

Keep One Line Per Event

Write one JSON object per line. This line-delimited format is what log shippers and search tools expect to ingest cleanly.

Quick Check

One detail trips up many MCP authors.

Recap

You learned to log as searchable JSON: one event per line, useful levels, a correlation ID, redacted secrets, and output on stderr. 📋

Questions Fréquemment Posées

La leçon « Journaux structurés interrogeables » est-elle gratuite ?

Oui — le texte complet de « Journaux structurés interrogeables » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours MCP Academy, passe à CoddyKit PRO. Le cours MCP Academy comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Journaux structurés interrogeables » ?

Émettez des journaux JSON avec corrélation des requêtes. Tu pratiques MCP Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer MCP Academy ?

Aucune expérience préalable n'est requise. MCP Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 2 sur 4.

Combien de temps prend la leçon « Journaux structurés interrogeables » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon MCP Academy ?

Oui. Chaque leçon MCP Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Que mesurer sur un serveur
  2. Journaux structurés interrogeables
  3. Suivre un appel d’outil de bout en bout
  4. Alerter en cas d’échec ou d’abus
← Retour à MCP Academy