5分钟上手 Sentry Elixir SDK

快速配置 Sentry Elixir SDK,捕获并监控应用中的错误和异常

环境要求

支持的操作系统

macOS Windows Linux

运行环境

Elixir >= 1.18 必需

所需工具

Mix

Elixir 项目构建工具

必需

操作步骤

1

添加依赖

在 mix.exs 文件中添加 Sentry 依赖

编辑 mix.exs 文件的 deps 函数
defp deps do
  [
    {:sentry, "~> 10.0"},
    {:finch, "~> 0.16"}
  ]
end

预期结果:依赖添加成功

如果 Elixir 版本低于 1.18,需要额外添加 {:jason, "~> 1.4"} 依赖

2

安装依赖

下载并安装所有依赖包

获取依赖
mix deps.get

预期结果:Resolving dependencies... * Getting sentry ...

确保网络连接正常

3

基础配置

配置 Sentry DSN 和基本设置

在 config/config.exs 中添加配置
# config/config.exs
import Config

config :sentry,
  dsn: "https://your-public-key@sentry.io/your-project-id",
  environment_name: :prod,
  enable_source_code_context: true,
  root_source_code_path: File.cwd!(),
  tags: %{
    env: "production"
  },
  included_environments: [:prod]

预期结果:配置保存成功

DSN 需要从 Sentry 控制台获取,替换示例中的占位符

4

配置 Logger 处理器

启用自动捕获进程崩溃错误

在生产环境配置中添加 Logger 处理器
# config/prod.exs
import Config

config :logger,
  backends: [:console, Sentry.LoggerBackend]

预期结果:Logger 配置完成

也可以直接在应用启动时添加处理器

5

测试配置

验证 Sentry 配置是否正确

发送测试事件到 Sentry
MIX_ENV=prod mix sentry.send_test_event

预期结果:Test event sent successfully!

确保 DSN 配置正确且网络可访问 Sentry 服务器

验证成功

成功发送测试事件到 Sentry 控制台

命令行显示 'Test event sent successfully!'
Sentry 控制台收到测试事件

快速提示

配置

开发环境默认不发送事件,可通过 included_environments 配置

调试

使用 Sentry.capture_exception/2 手动捕获特定异常

调试

测试时设置 :send_result 为 :sync 确保事件发送完成

常见问题

1

测试事件发送失败

检查 DSN 是否正确,网络是否可访问 sentry.io

2

依赖安装失败

检查 Elixir 版本是否符合要求,网络连接是否正常

3

生产环境没有捕获错误

确认 included_environments 包含当前环境,且 Logger 处理器已正确配置

下一步

查看官方文档

了解更多高级配置和功能

集成 Phoenix/Plug

为 Web 应用添加更完整的错误监控

配置环境变量

使用环境变量管理敏感配置如 DSN

助手