我有一个带有Update控制器的Rails 6应用,可以接受JSON Post请求:
test.f
当以JSON作为正文的Post请求时...
class ProcessLogsController < ApplicationController
#...
# POST /process_logs.json
def create
# ... code to save the json in a database ...
end
#...
end
我在日志中得到了这个
curl -X POST \
http://localhost:3000/process_logs.json \
-H 'Content-Type: application/json' \
-d '{
"Time": "A UNIX timestamp",
"Message": "Host Message could be very long, and may include secret info",
"host": "My Hostname"
}'
输出正确且预期,但是我的日志中有这个corncern:
所以我的问题是...
对于此特定的 controller#action ,可以通过任何方式禁用/隐藏日志中的 Parameters 行。
我不想将级别设置为:warn,因为我想查看其他信息(重新放置代码等)。
答案 0 :(得分:0)
实际上,您可以关闭以参数形式包装到process_log
的参数。请参阅文档中有关包装https://api.rubyonrails.org/classes/ActionController/ParamsWrapper.html的参数(5.2.x的文档,但是该行为在rails 6中没有改变)
顺便说一句,如果您说的是真的,那么您可能应该考虑如何使您的日志不那么冗长。每天有数百万的请求,您将无法继续跟踪此日志。
我们在应用程序中使用https://github.com/roidrage/lograge进行生产日志。它不那么冗长,并且所有内容都自动记录在一条长行中。一个请求不可能在另一个请求的中间开始记录(但是我希望Rails能够找到解决方法)。