MCP Academy · Leçon

Journalisation structurée vers le client

Émettez des messages de journal de différents niveaux via le protocole.

Leçon 3 sur 413 étapes

Journalisation structurée vers le client est une leçon MCP Academy gratuite sur CoddyKit. Ceci est la leçon 3 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.

Des journaux visibles par le client

Afficher du texte dans votre terminal ne vous aide que vous. MCP permet au serveur d’envoyer des messages de journalisation via le protocole, afin que l’application hôte puisse également les afficher.

La notification de message

Les journaux circulent sous la forme d’une notification notifications/message. Elle contient un niveau, un nom de journaliseur facultatif et les données que vous souhaitez enregistrer.

{"method": "notifications/message",
 "params": {"level": "info", "data": "Indexing started"}}

Utiliser le contexte

Depuis un outil, vous accédez à la journalisation via l’objet Contexte, la même référence que celle utilisée pour la progression. Aucune configuration supplémentaire n’est nécessaire.

from mcp.server.fastmcp import Context

ctx.info pour les mises à jour

L’assistant le plus courant est ctx.info. Utilisez-le pour les informations d’état normales et attendues qui aident l’utilisateur à suivre ce que fait l’outil.

await ctx.info("Loaded 120 records from disk")

ctx.debug pour les détails

Utilisez ctx.debug lorsque vous souhaitez des traces détaillées, par exemple une valeur analysée ou une branche choisie, qui seraient trop nombreuses dans une utilisation quotidienne.

await ctx.debug(f"chosen strategy = {strategy}")

ctx.warning pour les situations inattendues

Utilisez ctx.warning lorsque quelque chose est inhabituel mais récupérable, par exemple lorsqu’un champ facultatif manquant a été remplacé par une valeur par défaut.

await ctx.warning("timeout missing, using 30s default")

ctx.error pour les échecs

Appelez ctx.error pour les problèmes réels. Cela indique au client qu’une étape a échoué, indépendamment du déclenchement d’une exception qui met fin à l’appel.

await ctx.error("upstream API returned 503")

Niveaux de gravité standard

MCP suit l’échelle familière de syslog : debug, info, notice, warning, error, critical et les niveaux supérieurs. Les clients peuvent trier et appliquer une couleur selon le niveau.

Nommer votre journaliseur

De nombreux assistants acceptent un nom de journaliseur afin de regrouper les messages par composant, comme le fait le module de journalisation standard de Python.

await ctx.info("cache miss", logger="db")

Ne consignez jamais de secrets

Les messages de journalisation quittent votre processus et parviennent au client ; traitez-les donc comme des informations visibles. N’écrivez jamais de secrets, tels que des jetons ou des mots de passe, dans un journal.

Les journaux sont des notifications

Comme la progression, chaque journal est une notification : il ne bloque donc jamais votre outil et n’attend aucune réponse. Vous pouvez journaliser librement au fil du travail.

await ctx.info("step 1 done")
await ctx.info("step 2 done")

Vérification rapide

Choisissez l’assistant adapté aux mises à jour d’état courantes.

Récapitulatif : journalisation

Vous pouvez désormais émettre des journaux associés à un niveau avec ctx.info, debug, warning et error, nommer vos journaliseurs et ne pas y faire apparaître de secrets. Vous progressez très bien !

Gratuit pour commencer

Apprends Python avec un tuteur IA — gratuit

Écris et exécute du vrai code dans ton navigateur, obtiens de l'aide instantanée d'un tuteur IA disponible 24h/24, et reprends là où tu t'es arrêté sur le web ou dans l'app.

Cours
30
Leçons
120

Questions Fréquemment Posées

La leçon « Journalisation structurée vers le client » est-elle gratuite ?

Oui — le texte complet de « Journalisation structurée vers le client » 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 « Journalisation structurée vers le client » ?

Émettez des messages de journal de différents niveaux via le protocole. 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 3 sur 4.

Combien de temps prend la leçon « Journalisation structurée vers le client » ?

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. Envoyer la progression des tâches longues
  2. Gérer les demandes d’annulation
  3. Journalisation structurée vers le client
  4. Définir les niveaux de journalisation à l’exécution
← Retour à MCP Academy