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
- Que mesurer sur un serveur
- Journaux structurés interrogeables
- Suivre un appel d’outil de bout en bout
- Alerter en cas d’échec ou d’abus