我正在使用errbit 0-3稳定,它的工作真的很好。
但问题是,有时它会开始为相同的错误发送垃圾邮件,但散列不同,如下所示:
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个错误?
发布于 2018-03-04 04:34:52
有两种方法可以解决这个问题。
选项1)捕获应用程序中的错误,并在将错误消息发送到Errbit之前清除其中的唯一性。
选项2) Errbit支持可配置的“指纹识别”,因此您可以实际告诉Errbit哪些属性有助于错误通知的唯一性。这可以在系统范围内完成,也可以在单个Errbit应用程序上完成。在您的示例中,您可以将错误消息作为错误指纹的一部分关闭。
从Errbit自述文件中:
Errbit将通知排列到错误组的方式是可配置的。默认情况下,Errbit使用通知的错误类、错误消息、完整回溯、组件(或控制器)、操作和环境名称为每个通知生成唯一的指纹。具有相同指纹的通知在UI中显示为同一错误的不同事件,而具有不同指纹的通知显示为单独的错误。
更改指纹打印机(在“config”菜单下)适用于所有应用程序,更改仅影响更改后到达的通知。如果你想重新打印旧的通知,你可以运行rake errbit:notice_refingerprint。
https://stackoverflow.com/questions/34838545
复制相似问题