Laravel中如何用bugsnag-laravel添加自定义标识并实现异常过滤?
Laravel+Bugsnag 自定义标签与异常过滤方案
addFeatureFlag 是否符合需求?
addFeatureFlag不适合用于自定义标签过滤,这个方法是用来标记当前环境启用的功能开关(比如A/B测试特性),相关信息会显示在Bugsnag异常详情的「Feature Flags」板块,但Bugsnag控制台不支持通过Feature Flag的值过滤异常,完全不符合你需要自定义标签做过滤的诉求。
自定义标签的正确实现与过滤格式
你用setMetaData添加元数据的方向是对的,针对自定义字段issue_type:issueTag的过滤,需要遵循Bugsnag的元数据过滤语法:
过滤格式规则
如果元数据放在分组里,过滤语法为:meta.[分组名].[字段名]:[字段值]
对应你代码里的Issue Details分组和issue_type字段,控制台的过滤条件应该写:
meta.Issue Details.issue_type:issueTag
优化后的完整代码示例
建议在异常回调中单独设置元数据,避免全局状态干扰:
Bugsnag::notifyException( new Exception('A notified exception with metadata'), function(Report $report) { $report->setMetaData([ 'Issue Details' => [ 'path' => 'notify-with-metadata', 'function' => 'Shows how to send extra data with a manually notified exception!', 'issue_type' => 'issueTag' ], ]); $report->setSeverity('warning'); } );
额外优化提示
如果不需要分组,可直接将标签放在顶级元数据中,简化过滤语法:
$report->setMetaData([ 'issue_type' => 'issueTag' ]);
对应的过滤条件简化为:meta.issue_type:issueTag
内容的提问来源于stack exchange,提问作者Petro Gromovo
相关产品推荐
相关产品推荐

