【问题标题】:How to see requests in Sinatra?如何在 Sinatra 中查看请求?
【发布时间】:2012-03-14 09:46:58
【问题描述】:

我曾经能够在我启动我的 sinatra 应用程序的窗口中看到为 sinatra 发出的 http 请求。

我认为在 sinatra 升级后我再也看不到它们了,我不知道如何做到这一点。我不需要将它们记录到文件中。

set :logging, true 没有帮助

  • ruby 1.8.7(2010-08-16 补丁级别 302)[i386-mingw32]
  • 机架 (1.4.0)
  • 机架保护 (1.2.0)
  • 西纳特拉 (1.3.2)
  • sinatra-advanced-routes (0.5.1)
  • sinatra-reloader (0.5.0)
  • sinatra 糖 (0.5.1)

【问题讨论】:

  • 也可能与机架有关。我更新后也看到了。也许你也添加了那个标签?
  • Sinatra 1.3.2 中引入的错误:github.com/sinatra/sinatra/issues/454(有问题的解决方法)。
  • @matt 您可以根据您的评论创建答案吗?老实说,我不明白解决方法是如何工作的。我只使用一个 rb 文件,其中基本上没有 sinatra 设置。您能否详细说明解决方法?

标签: sinatra rack


【解决方案1】:

这是bug introduced in Sinatra 1.3.2commit that introduced it 旨在修复 another bug where the logging was being done twice in certain circumstances,但显然不太正确。

此请求记录是通过使用Rack::CommonLogger 中间件组件完成的,现在仅在某些情况下添加。修复/解决方法是简单地自己添加它。添加

use Rack::CommonLogger

到您的应用程序文件的顶部(在需要 Sinatra 之后)。请注意,在某些情况下(例如,如果您的部署设置与开发设置不同),您最终可能会遇到请求记录两次的原始问题。

【讨论】:

  • 你是对的。有些东西出现了两次。总比没有好 :-) 感谢您的解决方法。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-02-20
  • 2015-04-16
  • 1970-01-01
  • 2011-04-30
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多