mcpField
S
serverpod-logging

serverpod-logging

github.com/serverpod开发3.3k44 次安装1 天前更新
代码仓库

关于 serverpod-logging

面向 Serverpod 开发者的日志记录技能,可在请求期间写入日志并配置存储与输出。日志可通过 serverpod MCP 服务或 Serverpod Insights 查看。

主要功能

  1. 01使用 session.log() 记录请求日志
  2. 02数据库与控制台输出
  3. 03可配置保留期限与清理
  4. 04通过 Serverpod Insights 检查日志

适用场景

  1. 01记录请求中的警告与异常
  2. 02在 Serverpod Insights 查看失败或缓慢调用

MCP 相关

日志可通过 serverpod MCP 服务读取。

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/serverpod/serverpod --skill serverpod-logging

安装后在 Claude Code 中输入/serverpod-logging确认已加载。

详细介绍

Serverpod 日志记录

在请求期间使用 session.log()。会话关闭时,日志会刷新。日志会存储在数据库中和/或打印到控制台。

用法

session.log('Operation completed');

session.log('Something went wrong',
  level: LogLevel.warning,
  exception: e,
  stackTrace: stackTrace);

未捕获的端点异常会作为会话失败记录在 serverpod_session_log 中。

日志目标

  • 可通过 serverpod MCP 服务读取日志。
  • 数据库: 表 serverpod_log、serverpod_query_log、serverpod_session_log(启用持久化时)
  • 控制台: 启用控制台日志记录时(格式为 text 或 json)

默认情况下,配置数据库时会启用持久化日志记录,且仅适用于 PostgreSQL(SQLite 不支持持久化会话日志)。未配置数据库以及处于 development 运行模式时,会启用控制台日志记录;在 development 运行模式下,控制台格式为 text,在其他运行模式下为 json。

配置

在配置 YAML 的 sessionLogs: 下设置:

设置默认值
persistentEnabledtrue(配置数据库时)
consoleEnabledtrue(未配置数据库时,或处于 development 运行模式时)
consoleLogFormattext(development),json(其他模式)
cleanupInterval24h
retentionPeriod90d
retentionCount100000

每项设置都对应一个 SERVERPOD_SESSION_* 环境变量,详见 serverpod-configuration/references/environment-variables.md。

设置保留策略,避免日志表无限增长。请勿记录敏感数据。

Serverpod Insights

配套应用,可用于查看、搜索和筛选日志,并检查失败或缓慢的调用。使用 Serverpod Cloud 时会自动提供。

评论

支持 Markdown