我正在使用errbit 0-3 stable并且它的工作非常好。
但问题是有时它会开始向我发送电子邮件,因为同样的错误,但不同的哈希值如下:
Mongo::Error::NoServerAvailable: No server is available matching preference: #<Mongo::ServerSelector::Primary:0x007fdba42891f0 @tag_sets=[], @options={:database=>"db_test", :max_pool_size=>200, :wait_queue_timeout=>5, :write=>{"w"=>0}}, @server_selection_timeout=30>
Mongo::Error::NoServerAvailable: No server is available matching preference: #<Mongo::ServerSelector::Primary:0x007fdbb8148e30 @tag_sets=[], @options={:database=>"db_test", :max_pool_size=>200, :wait_queue_timeout=>5, :write=>{"w"=>0}}, @server_selection_timeout=30>
如何过滤它们以便将它们分组为1个错误?
答案 0 :(得分:1)
有两种方法可以解决这个问题。
选项1)捕获应用程序中的错误,并在将错误消息发送到Errbit之前清除错误消息中的唯一性。
选项2)Errbit支持可配置的“指纹识别”,因此您可以实际告诉Errbit哪些属性有助于错误通知的唯一性。这可以在系统范围内或在个别Errbit应用程序上完成。在您的情况下,您可以在错误指纹的一部分中关闭错误消息。
来自Errbit README:
Errbit将通知安排到错误组中的方式是可配置的。通过 默认情况下,Errbit使用通知的错误类,错误消息,完成 回溯,组件(或控制器),操作和环境名称 为每个通知生成唯一的指纹。通知相同 指纹作为不同的出现在UI中出现 错误和具有不同指纹的通知显示为 单独的错误。
更改指纹识别器(在'config'菜单下)适用于所有人 应用和更改仅影响更改后到达的通知。 如果你想重新打印旧通知,你可以运行rake errbit:notice_refingerprint