我最近注意到 raven 现在包含了所有控制台方法,但我没有看到任何描述原因的文档? 或者它怎么可能有用? 有没有人遇到过这个问题,可以指点我一些关于它使用的文档吗?
我遇到的问题是我无法再使用 console.log() 进行简单的调试..源变成了 raven.js 并且我无法再跟踪它从我的代码中的哪里发出?
@grapho – 控制台语句被收集并作为面包屑传递。
我可以看到它是多么令人恼火,由于检测console.log
,devtools 中的 URL 将不再将您带到源中的原始日志语句。 我们可以将检测console.log
设为可选。 或者,引入Raven.log
作为记录您自己的面包屑的替代 API。
@benvinegar我保证我不会被激怒...如果有一种方法可以在开发环境中使用面包屑或等效 api..console.log 的地方,我很想知道如何?
我可以习惯于放置断点和调试器语句。如果这是首选的解决方法?
我想我很少真正使用到控制台语句的链接,甚至没有注意到它已经消失了:) 我个人大部分时间都在使用 Chrome 调试器。
如果有一种方法可以在开发环境中使用面包屑或等效的 api
如果您只想设置面包屑,今天可以使用Raven.captureBreadcrumb
。 API 还没有真正充实。 这仍然是一个新功能,我们仍在努力解决一些问题。
如果这不是一个严重的障碍,我想让这个问题保持开放一段时间,看看我们是否能得到更多反馈。
我认为这是一个主要问题,特别是它没有在任何地方记录并且不能被禁用。
可能有大量的 console.log 我们不想发送给 Sentry。
由开发人员选择发送的内容和时间
还有一件事我没有提到,像 Ember.js 这样的一些 JS 框架倾向于从生产版本中去除 console() 方法。 只是考虑的食物。
上面的评论似乎不正确,抱歉。
@benvinegar我很感激你愿意让票保持打开状态,可能值得进一步调查:)
@benvinegar这个问题根本不是一个严重的
这是我目前的解决方案。 我意识到我可以_不_在开发模式下初始化 raven.js 客户端...... raven/哨兵报告,无论如何只对大多数人(我想)在生产应用程序中真正有用。
话虽如此。 引入developmentMode
配置标志可能仍然有一些用处,这将允许消息和错误传递到开发控制台(也就是禁用一些“全局”处理)。同时保持乌鸦。 Node.js 客户端在后台安静,因此如果我们愿意,我们仍然可以通过显式触发 raven api 手动发送错误报告。
让我知道你对此的感受。 否则我不会太担心它,因为这个问题主要是由于我对 raven 缺乏经验以及如何/何时使用它造成的。
可能有大量的 console.log 我们不想发送给 Sentry。
实事求是——你真的想禁用它吗? 我不想在这里听起来被动攻击,我只是想知道这是否是一个严重的问题,你想禁用它。
我认为这是一个主要问题,尤其是它没有记录在任何地方并且
它记录在 Raven.js 变更日志中。 我们还发布了一篇关于面包屑导航console.log
语句,并且这篇文章在应用内广播给所有托管的 Sentry 用户。 很抱歉我们没能联系到您,但我认为我们已经做出了真正的努力来传达这一点。
另请注意,这就是 Raven.js 3.0.x 成为主要版本的原因,因为它引入了潜在的破坏性更改。 我希望人们在升级到主要版本之前查看变更日志。
......不能被禁用。
同时,您仍然可以运行 Raven 2.x。
@benvinegar我很感激你愿意让票保持打开状态,可能值得进一步调查:)
我想在急于寻求解决方案之前收集更多反馈。 特别是因为 3.0.x 已经上线了几个星期,我们得到的大部分反馈都是积极的。
@benvinegar这个问题根本不是一个严重的
是的,我有一种感觉,你比什么都好奇。
话虽如此。 引入 developmentMode 配置标志可能仍然有一些用处,这将允许消息和错误传递到开发控制台(也就是禁用一些“全局”处理)。同时保持 raven.js 客户端在背景,因此如果我们愿意,我们仍然可以通过显式触发 raven api 手动发送错误报告。
是的,问题在于,在生产中也需要控制台语句进行调试是有争议的。 我宁愿让它可配置。 而且,我们会的。 我只想先获得更多反馈/衡量影响。
Anwyays,真的很感谢你在这里发表的评论。
@benvinegar : 👍 用于配置选项——理想情况下允许手动过滤掉不需要的条目(或者更确切地说是功能)
这也不断出现在支持跟踪器上。 我认为我们应该添加一个方法来禁用它。
请使面包屑功能可选,包装控制台方法是有风险的,并且容易与许多其他库和 3rd 方脚本也尝试冲突。
从 3.5.0 开始,您可以禁用控制台面包屑的自动收集:
Raven.config('your dsn', {
autoBreadcrumbs: {
console: false
}
});
或者您可以完全禁用自动面包屑收集:
Raven.config('your dsn', { autoBreadcrumbs: false });
更多关于这方面的信息在docs 中。
autoBreadcrumbs
不在打字稿声明文件中。 是故意的吗?
https://github.com/getsentry/raven-js/blob/master/typescript/raven.d.ts
我们最近一直在为 TypeScript 声明苦苦挣扎。 欢迎投稿。
最有用的评论
从 3.5.0 开始,您可以禁用控制台面包屑的自动收集:
或者您可以完全禁用自动面包屑收集:
更多关于这方面的信息在docs 中。