用途:在项目中配置 Sentry 结构化日志(Logging)。适用于添加 Sentry 日志、启用结构化日志、捕获控制台日志或将现有日志库接入 Sentry 的场景。
平台检测:JavaScript/TypeScript 检查 package.json 中的 @sentry/nextjs、@sentry/react、@sentry/node、@sentry/browser 等,需 SDK 9.41.0+;Python 检查 requirements.txt、pyproject.toml 等,需 sentry-sdk 2.35.0+;Ruby 检查 Gemfile 或 *.gemspec,需 sentry-ruby 5.24.0+。
主要能力:
- 结构化日志,通过 Sentry.logger(JS/Ruby)或 sentry_sdk.logger(Python)记录 trace、debug、info、warn/warning、error、fatal 等级别。
- 控制台捕获,JS 使用 Sentry.consoleLoggingIntegration({levels:[...]});Python 使用 LoggingIntegration(sentry_logs_level=...);Ruby 使用 config.enabled_patches = [:logger]。
- 日志过滤,JS 用 beforeSendLog,Python 用 before_send_log。
- 第三方集成:Pino、Winston、Consola(JS),Loguru(Python)。
使用方式:先在 Sentry.init()(JS)加 enableLogs: true,Python 加 enable_logs=True,Ruby 加 config.enable_logs = true;再按需添加集成与过滤;最后触发测试日志并在 Sentry 面板 Logs 区查看。
限制:需满足最低 SDK 版本,低于时须升级(npm install @sentry/nextjs@latest、pip install --upgrade sentry-sdk、bundle update sentry-ruby);日志未出现需检查版本、开关、DSN 与过滤设置;日志过多可过滤或减少捕获级别。具体平台差异与全部代码示例以原始技能文档为准。