SuperAPI AI 工具集

sentry-elixir-sdk

部署与运维

查看项目

更新于 10-16 08:47

技能介绍

用途:为 Elixir / Phoenix 项目接入 Sentry SDK,覆盖错误监控、日志、追踪与定时任务(Crons)。适用于用户提到把 Sentry 加到 Elixir、使用 sentry hex 包或 getsentry/sentry-elixir,或需要监控异常、Plug 错误、LiveView 错误与定时任务时。

主要能力:先检测项目,通过 grep 检查 mix.exs 中是否已有 sentry、Elixir 版本、Phoenix/Plug、LiveView、Oban、Quantum、OpenTelemetry,以及是否存在前端目录;再据此提出推荐方案。错误监控与日志为基线,检测到 Phoenix/Plug/Ecto/OpenTelemetry 时推荐追踪,检测到 Oban、Quantum 或周期任务时推荐 Crons。

使用方式:推荐运行交互式安装器,需用户在终端自行执行:mix igniter.install sentry(sentry v11.0.0 起可用,会自动配置 config/config.exs、config/prod.exs、config/runtime.exs 与 lib/my_app/application.ex)。手动方式为在 mix.exs 添加 {:sentry, "~> 13.0"} 与 {:finch, "~> 0.21"},再 mix deps.get,并配置 :dsn、:environment_name、:enable_source_code_context、:root_source_code_paths、:in_app_otp_apps 等。Phoenix 需在 endpoint 中加入 use Sentry.PlugCapture(位于 use Phoenix.Endpoint 之上,仅 Cowboy 适配器需要)与 plug Sentry.PlugContext(位于 Plug.Parsers 之下);LiveView 在 my_app_web.ex 的 live_view 宏中加 on_mount Sentry.LiveViewHook。启用 LoggerHandler 需在 Application.start/2 中调用 Logger.add_handlers(:my_app)。验证可运行 MIX_ENV=dev mix sentry.send_test_event。

限制与注意:资料注明 SDK 版本与 API 对应 sentry v13.2.0、要求 Elixir ~> 1.13,实施前应查阅官方文档。Sentry.PlugCapture 仅适用于 Cowboy,Phoenix 1.7+ 默认 Bandit 下无需该模块。截至 sentry v12,Elixir SDK 未提供 send_default_pii 配置项,不应添加不存在的选项。v13.1.0 起自动清理堆栈变量中的敏感数据;v13.1.1 起提供 :scrubber 配置。有关收费、价格与具体平台覆盖,资料未提供。