提交 ad4935f1 编写于 作者: D David Heinemeier Hansson

Merge pull request #17817 from aripollak/hide-activejob-args

GlobalID objects are logged by their URI, not #inspect on the object, to prevent logging private data
......@@ -85,7 +85,12 @@ def queue_name(event)
end
def args_info(job)
job.arguments.any? ? " with arguments: #{job.arguments.map(&:inspect).join(", ")}" : ""
if job.arguments.any?
' with arguments: ' +
job.arguments.map { |arg| arg.try(:to_global_id).try(:to_s) || arg.inspect }.join(', ')
else
''
end
end
def scheduled_at(event)
......
......@@ -65,6 +65,14 @@ def test_logs_correct_queue_name
LoggingJob.queue_name = original_queue_name
end
def test_globalid_parameter_logging
person = Person.new(123)
LoggingJob.perform_later person
assert_match(%r{Enqueued.*gid://aj/Person/123}, @logger.messages)
assert_match(%r{Dummy, here is it: #<Person:.*>}, @logger.messages)
assert_match(%r{Performing.*gid://aj/Person/123}, @logger.messages)
end
def test_enqueue_job_logging
HelloJob.perform_later "Cristian"
assert_match(/Enqueued HelloJob \(Job ID: .*?\) to .*?:.*Cristian/, @logger.messages)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册