6

我想调试我的 Rails 应用程序使用RestClient发出的请求。RestClient 文档说:

要启用日志记录,您可以

使用 ruby​​ Logger 设置 RestClient.log 或设置环境变量以避免修改代码(在这种情况下,您可以使用文件名“stdout”或“stderr”):

$ RESTCLIENT_LOG=stdout path/to/my/program 要么产生这样的日志:

RestClient.get " http://some/resource "

=> 200 确定 | 文本/html 250 字节

RestClient.put " http://some/resource ", "payload"

=> 401 未经授权 | 应用程序/xml 340 字节

请注意,这些日志是有效的 Ruby,因此您可以将它们粘贴到 restclient shell 或 >script 以重播您的 rest 调用序列。

如何将这些日志包含在我的 Rails 应用程序日志文件夹中?

4

5 回答 5

15

来自: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
于 2013-02-21T15:50:25.427 回答
5

在以下位置创建一个文件config/initializers
RestClient.log = 'log/a_log_file.log'
或者只是将最后一个放在控制台中

https://github.com/adelevie/rest-client/commit/5a7ed325eaa091809141d3ef6e31087569614e9d

于 2012-06-21T05:03:31.860 回答
1

这对我有用,在 RestClient 1.8 和 Rails 4.2.1 上运行:

::RestClient.log = Rails.logger

于 2018-08-22T18:48:48.320 回答
0

你可以使用这个宝石:

https://github.com/uswitch/rest-client-logger

只需将“gem 'rest-client-logger'”添加到您的 Gemfile 中,它就可以开箱即用。

于 2015-11-25T03:56:09.537 回答
-3

可能是这样:RestClient.log = Rails.logger

于 2012-04-11T11:37:33.473 回答