【发布时间】:2013-07-25 09:09:19
【问题描述】:
我有一个机架应用程序(特别是一个 Sinatra 应用程序,但我认为这并不重要),当它正常运行时,它会愉快地向 STDOUT 输出一堆有关请求的信息,例如:
127.0.0.1 - - [25/Jul/2013 10:05:39] "GET /oath2/token?password=ohnoes HTTP/1.1" 404 507 0.0013
我正在尝试为Rack::CommonLogger 编写一个扩展,它将从日志文件中删除密码,所以我的首要任务当然是编写一个测试。
我已经像这样设置了rack/test 和rspec,但我不知道如何捕获传出日志,以便我可以扫描其中的内容!有什么想法吗?
require 'my_webapp'
describe "My Webapp" do
include Rack::Test::Methods
def app
@app ||= MyWebapp.new
end
it 'should not log the text of any GET password parameter' do
get '/oauth2/token?password=ohnoes'
# Not sure about this!
log_output.should_not =~ /ohnoes/
end
end
【问题讨论】:
-
您是否可以共享该记录器 - 我们需要相同的机架解决方案。