在空气制动维基中,它说在控制器中使用notify_airbrake而不是Airbrake.notify,但没有解释原因。在控制器中使用notify_airbrake有什么好处,为什么不能在其他地方使用?
发布于 2015-11-04 15:09:10
notify_airbrake只是一个辅助方法。您不必使用它(请随意使用Airbrake.notify)。但是,notify_airbrake将额外信息附加到通知(如当前用户、会话、Rack环境等)。使用Airbrake.notify,您将只发送传递给该方法的内容。
发布于 2015-11-04 15:17:27
这就是开源的美妙之处。您可以查看代码,并找出某样东西是如何和为什么以它的方式实现的。
尽管如此,看看空气制动代码,特别是controller_methods.rb文件(methods.rb)。
您可以看到,notify_airbrake方法在自动提取一些额外信息(如会话数据、请求url、请求params等)之后,实际上调用了Airbrake.notify (Airbrake.notify_or_ignore)的一个变体,这些信息仅在控制器上下文中可用。如果他们不这样做,我们将不得不手动提取控制器中的信息并将其传递出去。它只是为了让我们的生活更容易:)
我的2美分。
https://stackoverflow.com/questions/33524684
复制相似问题