Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 在Rails应用程序中记录RestClient_Ruby On Rails_Logging_Rest Client - Fatal编程技术网

Ruby on rails 在Rails应用程序中记录RestClient

Ruby on rails 在Rails应用程序中记录RestClient,ruby-on-rails,logging,rest-client,Ruby On Rails,Logging,Rest Client,我想调试Rails应用程序发出的请求。RestClient文档说: 要启用日志记录,您可以 使用ruby记录器设置RestClient.log 或者设置环境变量以避免修改代码(在这种情况下,可以使用文件名“stdout”或“stderr”): $RESTCLIENT\u LOG=stdout path/to/my/program 或者生成如下日志: RestClient.get“” =>200 OK |文本/html 250字节 RestClient.put“”有效负载 =>401未经授权的|应

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

要启用日志记录,您可以

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

$RESTCLIENT\u LOG=stdout path/to/my/program 或者生成如下日志:

RestClient.get“”

=>200 OK |文本/html 250字节

RestClient.put“”有效负载

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

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


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

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

配置/初始化器中创建一个文件:
RestClient.log='log/a_log_file.log'
或者把最后一个放在控制台里

来自:

需要“restclient”
#使用RestClient日志您可以使用以下gem:


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

这对我来说很有效,运行在RestClient 1.8和Rails 4.2.1上:


::RestClient.log=Rails.logger

或RestClient.log=$stdoutad将其添加到
config/initializers/
中的文件中,可以将其添加到
config/initializers/rest\u client.rb
中以全局启用
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