Add logging of errors reported by console.error#13
Add logging of errors reported by console.error#13nahall wants to merge 1 commit intofredden:mainfrom
Conversation
fredden
left a comment
There was a problem hiding this comment.
Thanks for the contribution. I like the idea. I've left some feedback around duplication of code, but otherwise this looks good. We should be able to get a new version with this change released this week.
| if (sendQueue.length > 100) { | ||
| // That's a lot of errors! Let's not overwhelm the server with more. | ||
| return; | ||
| } | ||
| if (!sendQueue.length) { | ||
| sendTimer = window.setTimeout(sendError, sendDelay); | ||
| } |
There was a problem hiding this comment.
Can we perhaps move this into a shared function instead of duplicating this logic?
Maybe we can pass in { colno: event.colno, filename: event.filename, lineno: event.lineno, message: event.message, stack: event.error && event.error.stack } in the original and { message: Array.from(args).join(' ') } (or whatever is appropriate here) in this new feature, and then the shared function can add the timer key and send this as the event object to the sendQueue.push() call?
| browser: { | ||
| height: window.innerHeight, | ||
| url: window.location.href, | ||
| width: window.innerWidth, | ||
| }, |
There was a problem hiding this comment.
This block (and event.timer) below could be part of the shared-functionality function.
| width: window.innerWidth, | ||
| }, | ||
| event: { | ||
| type: type, |
There was a problem hiding this comment.
Is there a column that this (type) maps to in the PHP/database side? I don't see this key in the original object below.
Some scripts log errors to the console with console.error(). These errors normally go unnoticed once a website is in production. This change makes these errors also get logged to the backend where they can be reviewed.