我正在使用lograge,我不知道为什么用纯文本记录密码。当我使用Rails日志记录时,名为password的字段将被过滤掉并替换为:password => \“[FILTERED] \”
在application.rb中我有下面的配置:
#rails logging
config.filter_parameters += [:password, :verification]
#lograge loging
config.lograge.enabled = true
config.lograge.custom_options = lambda { |event| { params: event.payload[:params] } }
这里我把lograge写的示例日志写在密码:
method=POST path=/user_sessions format=html controller= action= status=302 duration=994.36 db=561.11 location=http://site.dev/?logged=1 params={"utf8"=>"✓", "authenticity_token"=>"HOH2d6Eg3ykBpMsPF0EDKNhgqeR/OtCGPpLAGhKGsJQ=", "user_session"=>{"login"=>"loggg", "password"=>"pass", "remember_me"=>"0"}}
感谢所有答案。
编辑:
好的我解决了这个问题。我的application_controller添加了:
def append_info_to_payload(payload)
super
payload[:params] = request.filtered_parameters
end