Commit 5f71dcd73925a5036f9954a1225926b7326a3e30
1 parent
310b4fcd
Exists in
master
and in
1 other branch
Made error fingerprints a bit smarter for JS errors - Use first backtrace file a…
…nd line number, and fall back to error message.
Showing
1 changed file
with
10 additions
and
3 deletions
Show diff stats
app/models/error_report.rb
... | ... | @@ -58,10 +58,17 @@ class ErrorReport |
58 | 58 | |
59 | 59 | private |
60 | 60 | def fingerprint_source |
61 | - # If backtrace is blank, use notice message for fingerprint | |
62 | - backtrace_or_message = backtrace.lines.any? ? backtrace.id : message | |
61 | + # Find the first backtrace line with a file and line number. | |
62 | + if line = backtrace.lines.detect {|l| l.number.present? && l.file.present? } | |
63 | + # If line exists, only use file and number. | |
64 | + file_or_message = "#{line.file}:#{line.number}" | |
65 | + else | |
66 | + # If no backtrace, use error message | |
67 | + file_or_message = message | |
68 | + end | |
69 | + | |
63 | 70 | { |
64 | - :backtrace_or_message => backtrace_or_message, | |
71 | + :file_or_message => file_or_message, | |
65 | 72 | :error_class => error_class, |
66 | 73 | :component => component, |
67 | 74 | :action => action, | ... | ... |