Journalisation structurée vers le client
Émettez des messages de journal de différents niveaux via le protocole.
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 Contextctx.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 !
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
- Envoyer la progression des tâches longues
- Gérer les demandes d’annulation
- Journalisation structurée vers le client
- Définir les niveaux de journalisation à l’exécution