在 Rails 服务器日志中格式化参数

Format Params in Rails Server Logs

我有一个 webhooks 控制器,我希望能够以一种易于阅读的格式查看在开发过程中打印到我的服务器日志中的参数。 awesome_print 适合这个吗?我正在尝试使用 prettyprint,示例如下,但格式仍然不是很可读。

正在尝试使用 prettyprint 来格式化参数

  class DwollaWebhooksController < WebhooksController
  require 'pp'


    def create
      pp params

      case params[:topic]
        when 'customer_funding_source_verified'
          puts '----------customer_funding_source_verified-----------------'
      end

    end

输出结果如下

<ActionController::Parameters {"id"=>"57dec892", "resourceId"=>"a0d172yx", "topic"=>"customer_bank_transfer_completed",...} permitted: false>

我正在寻找至少具有适当缩进、多行等的内容

如果你想以"pretty"的方式呈现参数,你可以将它们转换为散列。虽然你有未经许可的参数,但你应该使用 to_unsafe_h(),这会给你一个不安全的、未过滤的 ActiveSupport::HashWithIndifferentAccess 参数表示。所以:

pp params.to_unsafe_h

这将输出如下内容:

{"id"=>"57dec892",
 "resourceId"=>"a0d172yx",
 "topic"=>"customer_bank_transfer_completed"}