Sinatra:三个日志

Pet*_*ter 2 ruby rack sinatra

我正在使用一个非常简单的Sinatra应用程序,效果很好.但是,每条日志消息重复三次.我可以通过禁用Sinatra日志记录将其降低到2

disable :logging
Run Code Online (Sandbox Code Playgroud)

但我还有两个.消息略有不同,所以我认为它们来自Rack和堆栈中的其他位置.

如何完全禁用成功Web请求的记录?

Sig*_*urd 5

Rack正在添加自己的日志记录作为中间件尝试运行

rackup -E none

这将删除一个日志条目.第二个是sinatra native,你已经禁用了.如果我没记错的话,第三个是Rack :: Lint记录.一般方法是重新构建您的应用程序

app.rb

require 'sinatra/base'
class App < Sinatra::Base
  get '/' do
    "hello"
  end
end
Run Code Online (Sandbox Code Playgroud)

config.ru

require 'myapp'
run MyApp 
Run Code Online (Sandbox Code Playgroud)

或者你可以在机架外运行app

if __FILE__ == $0
  App.run!
end
Run Code Online (Sandbox Code Playgroud)