我正在编写一个Sinatra应用程序。我想从配置块中记录一些东西。但是,它在应用程序范围内运行,如果我在配置块中enable :logging
,则不包括记录器方法。是否有一些正常的方法来记录来自配置块的消息,同时遵守我生效的任何日志配置?
目前,我做了类似以下的事情:
class Blah < Sinatra::Base
configure do
enable :logging
@@log = Logger.new("/dev/stderr")
@@log.info "blah"
end
end
我宁愿使用任何配置的记录器,默认为enable :logger
行的一个设置。类似于以下的东西是理想的:
class Blah < Sinatra::Base
configure do
enable :logging
logger.info "blah"
end
end
答案 0 :(得分:0)
从1.3开始(我认为)Sinatra附带了一个你所描述的记录器,但它默认写入STDOUT和STDERR,如果你想将它打到一个文件,请将它添加到你的config.ru:
logger = Logger.new('log/awesome_app.log')
use Rack::CommonLogger, logger
run AwesomeApp