你好!
我想在这里发帖,看看是否有人对我在尝试将 Sentry 与 Discourse 一起使用时遇到的这个 bug 有什么想法。我想使用 Sentry(使用 开源 Glitchtip 服务器实现)来收集后台任务和服务器中引发的所有错误。我知道 Discourse 有自己的错误收集机制 Logster,但我想尝试使用 Sentry 来帮助跟踪所有引发的错误并以更多上下文来检查它们。
我添加了一个带有 Sentry 配置的初始化程序:
Sentry.init do |config|
config.breadcrumbs_logger = [:active_support_logger, :http_logger]
config.dsn = ENV['SENTRY_DSN']
end
并且发现它在 rake 任务和 sidekiq 任务的 HTTP 调用中无限递归(即使它们在添加 sentry 之前就已干净退出)。在 Sentry-ruby 的 GitHub issue 中有更多细节和重现方法:
我知道我没有使用受支持的 discourse_docker 仓库,但我想在这里发帖看看是否有人遇到过类似的错误并有什么想法。
请注意,已有一个现有的 Discourse Sentry 插件(https://meta.discourse.org/t/discourse-sentry/109187),但它使用了一个不受支持的客户端库(`sentry-raven`),所以我选择不使用它。
对于任何有兴趣将 Sentry 与 Discourse 一起使用的人来说,该软件包的维护者之一回复了一个建议的修复方法。
他们说问题来自 Discourse 的 MethodProfiler,它使用了 alias_method。他们建议用 prepend 替换它,并说这越来越普遍,并且可以让两个工具协同工作。
我对 Ruby 不够熟悉,无法理解其中的区别。目前,我将尝试注释掉这部分代码以禁用 Discourse 的方法分析。
1 个赞
system
(system)
关闭
3
This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.