0Pricing
MCP Academy · Урок

Структурированные журналы с поиском

Передавайте журналы JSON с корреляцией запросов.

«Структурированные журналы с поиском» — бесплатный урок MCP Academy на CoddyKit. Это урок 2 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения MCP Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс MCP Academy содержит 4 уроков всего.

Части этого урока еще не переведены и отображаются на английском.

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. 📋

Часто задаваемые вопросы

Урок «Структурированные журналы с поиском» бесплатный?

Да — полный текст урока «Структурированные журналы с поиском» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс MCP Academy, подпишись на CoddyKit PRO. Курс MCP Academy содержит 4 уроков всего.

Чему я научусь в уроке «Структурированные журналы с поиском»?

Передавайте журналы JSON с корреляцией запросов. Ты практикуешь MCP Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать MCP Academy?

Предыдущий опыт не требуется. MCP Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 2 из 4.

Сколько времени занимает урок «Структурированные журналы с поиском»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке MCP Academy?

Да. Каждый урок MCP Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Что измерять на сервере
  2. Структурированные журналы с поиском
  3. Трассировка вызова инструмента от начала до конца
  4. Оповещения о сбоях и злоупотреблениях
← Назад к MCP Academy