在 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"}
我有一个 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"}