首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从轨初始化器在运行时调用代码?

如何从轨初始化器在运行时调用代码?
EN

Stack Overflow用户
提问于 2017-09-19 13:34:21
回答 1查看 62关注 0票数 0

我使用雷声枪的错误跟踪在一个应用程序,使用一个切分的数据库。单独的客户端将他们的数据存储在他们自己的DB服务器的碎片上。

代码语言:javascript
复制
rails c
1> MultiSite.get_shard
#=> master
2> Post.count
#=> 0
3> MultiSite.set_shard :client1_prod
#=> nil
4> MultiSite.get_shard
#=> client1_prod
5> Post.count
#=> 123

使用雷声枪时,我可以使用雷管config/initializers/raygun.rb设置错误标签。

代码语言:javascript
复制
Raygun.setup do |config|
  config.api_key = LOCAL_SETTINGS["raygun_token"]
  config.filter_parameters = Rails.application.config.filter_parameters
  config.version = EnvironmentInformation.get_version
  config.tags = [
                  EnvironmentInformation.get_server_name,
                  EnvironmentInformation.get_version,
                  EnvironmentInformation.get_commit_hash,
                  EnvironmentInformation.shard_name
                ]
  config.enable_reporting = true
end

因此,在这里,我试图使用EnvironmentInformation.shard_name来告诉我哪个客户端(哪个碎片)遇到了错误,这样我就可以在Raygun应用程序上过滤那个标签了。

不幸的是,在应用程序启动时(当这个初始化程序中的代码运行时),我们仍然处于master碎片上。这意味着雷声将每个错误标记为master碎片。

是否有任何方法可以修改我的初始化程序,以便在实际发生错误时调用EnvironmentInformation.shard_name

在谷歌上搜索还没有想出什么。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-10-04 14:15:00

通过特性请求,Raygun的人员已经实现了一个proc,它可以用于在运行时动态设置标记。

虽然我仍然感兴趣,但我的具体问题现在已经解决了。

https://raygun.com/thinktank/suggestion/94060

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46301917

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档