我想调试我的Rails应用程序使用RestClient创建的请求。 RestClient文档说:
要启用日志记录,您可以
使用ruby Logger设置RestClient.log 或设置环境变量以避免修改代码(在这种情况下,您可以使用文件名,“stdout”或“stderr”):
$ RESTCLIENT_LOG = stdout path / to / my / program 要么产生这样的日志:
RestClient.get“http://some/resource”
=> 200 OK | text / html 250 bytes
RestClient.put“http://some/resource”,“payload”
=> 401未经授权| application / xml 340 bytes
请注意,这些日志是有效的Ruby,因此您可以将它们粘贴到restclient shell或>脚本中,以重放您的休息调用序列。
如何将这些日志包含在我的Rails应用程序日志文件夹中?
答案 0 :(得分:13)
来自:https://gist.github.com/jeremy/1383337
require 'restclient'
# RestClient logs using << which isn't supported by the Rails logger,
# so wrap it up with a little proxy object.
RestClient.log =
Object.new.tap do |proxy|
def proxy.<<(message)
Rails.logger.info message
end
end
答案 1 :(得分:4)
在config/initializers
中创建文件:
RestClient.log ='log / a_log_file.log'
或者只是把最后一个放在控制台
https://github.com/adelevie/rest-client/commit/5a7ed325eaa091809141d3ef6e31087569614e9d
答案 2 :(得分:1)
你可以使用这个宝石:
https://github.com/uswitch/rest-client-logger
只需添加&#34; gem&#39; rest-client-logger&#39;&#34;即可开箱即用。到您的Gemfile。
答案 3 :(得分:0)
这对我有用,可以在RestClient 1.8和Rails 4.2.1上运行:
::RestClient.log = Rails.logger
答案 4 :(得分:-3)
可能是这样:RestClient.log = Rails.logger