2

我正在玩写一个 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
4

1 回答 1

0

从 1.3 开始(我认为)Sinatra 附带了一个像你描述的那样的记录器,但它默认写入 STDOUT 和 STDERR,如果你想把它打到一个文件中,把它添加到你的 config.ru 中:

logger = Logger.new('log/awesome_app.log')

use Rack::CommonLogger, logger
run AwesomeApp
于 2012-11-21T14:39:32.467 回答