6

Rails アプリがRestClientで行うリクエストをデバッグしたいと思います。RestClient ドキュメントには次のように書かれています。

ロギングを有効にするには、次のことができます

ruby ロガーで RestClient.log を設定するか、環境変数を設定してコードの変更を回避します (この場合、ファイル名「stdout」または「stderr」を使用できます)。

$ RESTCLIENT_LOG=stdout path/to/my/program いずれかが次のようなログを生成します。

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

=> 200 OK | テキスト/html 250 バイト

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

=> 401 無許可 | アプリケーション/xml 340 バイト

これらのログは有効な Ruby であるため、restclient シェルまたは >script に貼り付けて、残りの呼び出しのシーケンスを再生できることに注意してください。

これらのログを 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 に答える
0

この宝石を使用できます:

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

Gemfile に「gem 'rest-client-logger'」を追加するだけで、すぐに使用できます。

于 2015-11-25T03:56:09.537 に答える
-3

そうかもしれません: RestClient.log = Rails.logger

于 2012-04-11T11:37:33.473 に答える