在运行时设置日志级别
让客户端调高或调低详细程度。
在运行时设置日志级别 是 CoddyKit 上的免费 MCP Academy 课时。 这是第 4 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 MCP Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 MCP Academy 课程共包含 4 节课。
按需调整详细程度
有时用户希望日志保持简洁,有时则需要深入细节。MCP 允许客户端在运行时设置日志级别,无需重启服务器。
setLevel 请求
客户端发送 logging/setLevel 请求,指定它希望接收的最低级别。这是一个请求,因此服务器会回复以确认。
{"method": "logging/setLevel",
"params": {"level": "warning"}}声明能力
只有当服务器在初始化握手期间公布了 logging 能力时,才会收到 setLevel。FastMCP 会为您启用此功能。
这是下限,不是列表
选定的级别是一个阈值。将其设为 warning 意味着 warning 及所有更严重的消息都会通过;更低级别的消息则会被丢弃。
过滤机制
setLevel 之后,服务器会将每条日志的严重程度与下限进行比较。低于该阈值的内容不会发送给该客户端。
# floor = warning -> info and debug are dropped提高详细程度
要调试一次棘手的运行过程,客户端可以将级别设为 debug。此时每条消息,包括嘈杂的跟踪信息,都会传回以供检查。
{"method": "logging/setLevel",
"params": {"level": "debug"}}降低详细程度
要获得简洁的生产环境视图,请将其设为 error。只有失败信息会到达,从而避免用户屏幕被常规杂讯占满。
{"method": "logging/setLevel",
"params": {"level": "error"}}按会话设置
该级别适用于该客户端的会话。稍后更改它只会移动下限,无需重新连接或重新加载。
合理的默认值
在收到任何 setLevel 之前,服务器会使用自己的默认下限,通常是 info。请始终记录充分的信息,再让客户端选择保留哪些内容。
它为何有用
运行时级别意味着您只需发布一个默认安静的版本;一旦用户报告难以定位的错误,它就能立即切换为详细模式。
与您的日志配合使用
此调节项控制您编写的同一组 ctx.info 和 ctx.debug 调用。客户端选择下限,您的代码只需按真实级别记录日志。
await ctx.debug("seen only when floor is debug")快速检查
思考选定的日志级别实际上会过滤哪些内容。
回顾:日志级别
您了解了 logging/setLevel 如何设置运行时下限、过滤如何丢弃较低级别的消息,以及这为何能让同一个版本保持灵活。非常棒!
用 AI 导师学习 Python — 免费
在浏览器中编写并运行真实代码,获得全天候 AI 导师的即时帮助,并在网页或应用中继续学习。
- 课程
- 30
- 课程
- 120
常见问题解答
「在运行时设置日志级别」课时是免费的吗?
是的 — 「在运行时设置日志级别」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 MCP Academy 课程的其余内容,请升级到 CoddyKit PRO。 MCP Academy 课程共包含 4 节课。
「在运行时设置日志级别」这节课中我会学到什么?
让客户端调高或调低详细程度。 你通过在浏览器中直接运行的动手代码来练习 MCP Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。
学习 MCP Academy 需要有经验吗?
无需任何先前经验。CoddyKit 上的 MCP Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 4 节课,共 4 节。
「在运行时设置日志级别」课时需要多长时间?
大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。
我能在这节 MCP Academy 课中编写并运行代码吗?
能。每节 MCP Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。
此课程中的所有课时
- 为长任务发送进度
- 处理取消请求
- 向客户端发送结构化日志
- 在运行时设置日志级别