在Sinatra的应用程序范围内运行时进行记录的"right"方法是什么?



我正在玩编写Sinatra应用程序。我想从配置块中记录一些东西。但是,在应用程序范围中运行,如果我在配置块中执行enable :logging,则不包括Logger方法。在尊重我有效的任何日志配置时,是否有一些正常的方式来记录配置块的消息?

目前,我做类似以下操作:

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

截至1.3(我认为)Sinatra如您所描述的记录仪,但默认情况下将其写入STDOUT和STDERR,如果您想将其击中到文件中,将其添加到您的config.ru:

logger = Logger.new('log/awesome_app.log')
use Rack::CommonLogger, logger
run AwesomeApp

最新更新