Elixir Phoenix:如何获得500个错误信息并通知管理员



每当我的一个客户设法创建服务器错误时,我都想收到一封电报/电子邮件。因为这通常意味着我们创建了一个bug,需要尽快修复。我还希望客户能够返回他们的来源,所以我想显示一个javascript返回按钮。

我该怎么做?

按钮可能看起来像这样:

<button onclick="window.history.back()">Back</button>

并像这样通知管理员:

for id <- Application.get_env(:nadia, :admin_chat_ids) do
message = "#{error information like stacktrace and user information}"
Nadia.send_message(id, message)
end

我在哪里可以覆盖phoenix的默认行为并获得必要的信息?

您可以使用滚动条,例如,每当您出现新错误或重复错误时,它都会发送电子邮件,您可以在UI上配置它。

为了将rollbar连接到phoenix应用程序,您需要rollbax-gem,它是elixir库的包装器。

安装

defp deps() do
[{:rollbax, ">= 0.0.0"}]
end

并添加到您的配置中。您的令牌将在创建项目后通过网站提供。

config :rollbax,
access_token: "YOUR_TOKEN",
environment: "production"

要在Phoenix内部使用它,您需要将其用作Plug

defmodule MyApp.Router do
use Plug.Router # or `use MyApp.Web, :router` for Phoenix apps
use Plug.ErrorHandler
defp handle_errors(conn, %{kind: kind, reason: reason, stack: stacktrace}) do
Rollbax.report(kind, reason, stacktrace)
end
end

Phoenix rollbax配置

相关内容

  • 没有找到相关文章

最新更新