我正在尝试编写一个 Sinatra 应用程序。我想从配置 block 中记录一些东西。但是,它在应用程序范围内运行,如果我在我的配置 block 中执行 enable :logging
则它不包括记录器方法。是否有一些正常的方法来记录来自配置 block 的消息,同时尊重我有效的任何日志配置?
目前,我做了类似下面的事情:
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
关于ruby - 在 Sinatra 的应用程序范围内运行时, "right"的记录方式是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13007668/