我相信我错过了Sinatra记录的方式。我想定义一个自定义记录器,但也可以在Sinatra的路径之外使用它。
我的app.rb看起来像这样:
require 'sinatra'
require 'logger'
logger = Logger.new(STDOUT)
configure do
use Rack::CommonLogger, logger
end
get '/' do
logger.info 'In request'
'Hello, world!'
end
logger.info 'Outside request'
config.ru就像这样:
require 'sinatra'
require_relative 'app'
configure do
enable :logging
end
run Sinatra::Application
但是当我运行应用程序并卷曲URL时,我只在请求期间看到注销,而不是在应用程序加载时logger.info 'Outside request'
。
$ bundle exec rackup
I, [2015-06-22T23:09:32.789802 #6122] INFO -- : Outside request
[2015-06-22 23:09:32] INFO WEBrick 1.3.1
[2015-06-22 23:09:32] INFO ruby 2.1.4 (2014-10-27) [x86_64-linux]
[2015-06-22 23:09:32] INFO WEBrick::HTTPServer#start: pid=6122 port=9292
::1 - - [22/Jun/2015:23:09:48 -0400] "GET / HTTP/1.1" 200 13 0.0059
::1 - - [22/Jun/2015:23:09:48 -0400] "GET / HTTP/1.1" 200 13 0.0124
Hello, world!%
我知道我在这里缺少一些基本的东西,任何帮助都会受到赞赏。谢谢。