在具有异步请求的基于类的sinatra应用程序中使用机架中间件

时间:2012-06-15 08:01:52

标签: logging sinatra rack eventmachine

我正在尝试将异步请求记录到我的sinatra应用程序中。我正在使用sinatra synchrony,它工作得很好,但我没有看到任何请求信息。 This post显示了一个解决方案,但我抱歉的新手自己无法让它工作!

app.rb

require_relative 'logger' # middleware

class MyApp < Sinatra::Base
  register Sinatra::Synchrony # async http requests up in this!
  use Logger::Middleware
  ...
end

在机架上我得到:

/Users/nflacco/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/1.9.1/logger.rb:197:in `<top (required)>': Logger is not a class (TypeError)

我环顾四周但是我没有看到使用基于类的sinatra应用程序的中间件的快速答案。谢谢!


更新:我使用Rack:CommonLogger搞砸了一下,然后让它向服务器显示我的请求(即使是sinatra-synchrony),但没有任何内容写入文件。 Hmmmmm。

app.rb

  configure do
    Dir.mkdir('log') unless File.exists?('log')
    use Rack::CommonLogger, Logger.new('log/elphi-api.log')
  end

0 个答案:

没有答案