Структурированное журналирование для клиента
Передавайте по протоколу сообщения журналов с указанием уровня.
«Структурированное журналирование для клиента» — бесплатный урок MCP Academy на CoddyKit. Это урок 3 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения MCP Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс MCP Academy содержит 4 уроков всего.
Части этого урока еще не переведены и отображаются на английском.
Logs the Client Can See
Printing to your terminal only helps you. MCP lets the server send log messages over the protocol so the host app can show them too.
The message Notification
Logs travel as a notifications/message notification. It carries a level, optional logger name, and the data you want recorded.
{"method": "notifications/message",
"params": {"level": "info", "data": "Indexing started"}}Use the Context
From inside a tool you reach logging through the Context object, the same handle you used for progress. No extra setup is needed.
from mcp.server.fastmcp import Contextctx.info for Updates
The most common helper is ctx.info. Use it for normal, expected status notes that help a user follow what the tool is doing.
await ctx.info("Loaded 120 records from disk")ctx.debug for Detail
Reach for ctx.debug when you want fine-grained traces, like a parsed value or a chosen branch, that are noisy in everyday use.
await ctx.debug(f"chosen strategy = {strategy}")ctx.warning for Surprises
Use ctx.warning when something is off but recoverable, like a missing optional field that you filled with a default value.
await ctx.warning("timeout missing, using 30s default")ctx.error for Failures
Call ctx.error for genuine problems. It tells the client a step failed, separate from raising an exception that ends the call.
await ctx.error("upstream API returned 503")Standard Severity Levels
MCP follows the familiar syslog scale: debug, info, notice, warning, error, critical, and higher. Clients can sort and color by level.
Name Your Logger
Many helpers accept a logger name so messages can be grouped by component, much like Python's standard logging module does.
await ctx.info("cache miss", logger="db")Never Log Secrets
Log messages leave your process and reach the client, so treat them as visible. Never write secrets like tokens or passwords into a log.
Logs Are Notifications
Like progress, each log is a notification, so it never blocks your tool or expects a reply. You can log freely as the work unfolds.
await ctx.info("step 1 done")
await ctx.info("step 2 done")Quick Check
Pick the right helper for routine status updates.
Recap: Logging
You can now emit leveled logs with ctx.info, debug, warning, and error, name your loggers, and keep secrets out. Great progress!
Часто задаваемые вопросы
Урок «Структурированное журналирование для клиента» бесплатный?
Да — полный текст урока «Структурированное журналирование для клиента» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс MCP Academy, подпишись на CoddyKit PRO. Курс MCP Academy содержит 4 уроков всего.
Чему я научусь в уроке «Структурированное журналирование для клиента»?
Передавайте по протоколу сообщения журналов с указанием уровня. Ты практикуешь MCP Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать MCP Academy?
Предыдущий опыт не требуется. MCP Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 3 из 4.
Сколько времени занимает урок «Структурированное журналирование для клиента»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке MCP Academy?
Да. Каждый урок MCP Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Отправка сведений о ходе длительных задач
- Обработка запросов на отмену
- Структурированное журналирование для клиента
- Настройка уровней журналирования во время работы