5分钟上手 Sentry Elixir SDK
快速配置 Sentry Elixir SDK,捕获并监控应用中的错误和异常
环境要求
支持的操作系统
运行环境
所需工具
Elixir 项目构建工具
操作步骤
添加依赖
在 mix.exs 文件中添加 Sentry 依赖
defp deps do
[
{:sentry, "~> 10.0"},
{:finch, "~> 0.16"}
]
end
预期结果:依赖添加成功
如果 Elixir 版本低于 1.18,需要额外添加 {:jason, "~> 1.4"} 依赖
安装依赖
下载并安装所有依赖包
mix deps.get
预期结果:Resolving dependencies... * Getting sentry ...
确保网络连接正常
基础配置
配置 Sentry DSN 和基本设置
# 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 控制台获取,替换示例中的占位符
配置 Logger 处理器
启用自动捕获进程崩溃错误
# config/prod.exs
import Config
config :logger,
backends: [:console, Sentry.LoggerBackend]
预期结果:Logger 配置完成
也可以直接在应用启动时添加处理器
测试配置
验证 Sentry 配置是否正确
MIX_ENV=prod mix sentry.send_test_event
预期结果:Test event sent successfully!
确保 DSN 配置正确且网络可访问 Sentry 服务器
验证成功
成功发送测试事件到 Sentry 控制台
快速提示
开发环境默认不发送事件,可通过 included_environments 配置
使用 Sentry.capture_exception/2 手动捕获特定异常
测试时设置 :send_result 为 :sync 确保事件发送完成
常见问题
测试事件发送失败
检查 DSN 是否正确,网络是否可访问 sentry.io
依赖安装失败
检查 Elixir 版本是否符合要求,网络连接是否正常
生产环境没有捕获错误
确认 included_environments 包含当前环境,且 Logger 处理器已正确配置
下一步
查看官方文档
了解更多高级配置和功能
集成 Phoenix/Plug
为 Web 应用添加更完整的错误监控
配置环境变量
使用环境变量管理敏感配置如 DSN
相关项目推荐
anoma/anoma
Anoma 协议的参考实现
elixir-lang/elixir
Elixir 是一种动态函数式语言,用于构建可扩展且可维护的应用程序。
plausible/analytics
简洁、开源、轻量且注重隐私的网站分析工具,可作为Google Analytics的替代方案。
phoenixframework/phoenix
从原型到生产皆安心无忧
h4cc/awesome-elixir
精心整理的 Elixir 和 Erlang 库、资源与精品项目合集。更新:
electric-sql/electric
Postgres 实时同步