Skip to content

Commit 4cc1faa

Browse files
authored
feat: better error tracking (#375)
1 parent 232d7d7 commit 4cc1faa

File tree

2 files changed

+16
-9
lines changed

2 files changed

+16
-9
lines changed

404.html

+4-3
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,6 @@
1111
<meta property="og:title" content="Page not found">
1212
<script src="/scripts/scripts.js" type="module" crossorigin="use-credentials"></script>
1313
<script type="module">
14-
import { sampleRUM } from '/scripts/aem.js';
15-
1614
window.addEventListener('load', () => {
1715
if (document.referrer) {
1816
const { origin, pathname } = new URL(document.referrer);
@@ -26,9 +24,12 @@
2624
btnContainer.append(backBtn);
2725
}
2826
}
29-
sampleRUM('404', { source: document.referrer });
3027
});
3128
</script>
29+
<script type="module">
30+
import { sampleRUM } from '/scripts/aem.js';
31+
sampleRUM('404', { source: document.referrer });
32+
</script>
3233
<link rel="stylesheet" href="/styles/styles.css">
3334
<style>
3435
main.error {

scripts/aem.js

+12-6
Original file line numberDiff line numberDiff line change
@@ -128,12 +128,18 @@ function init() {
128128

129129
window.addEventListener('load', () => sampleRUM('load'));
130130

131-
window.addEventListener('unhandledrejection', (event) => {
132-
sampleRUM('error', { source: event.reason.sourceURL, target: event.reason.line });
133-
});
134-
135-
window.addEventListener('error', (event) => {
136-
sampleRUM('error', { source: event.filename, target: event.lineno });
131+
['error', 'unhandledrejection'].forEach((event) => {
132+
window.addEventListener(event, ({ reason, error }) => {
133+
const errData = { source: 'undefined error' };
134+
try {
135+
errData.target = (reason || error).toString();
136+
errData.source = (reason || error).stack.split('\n')
137+
.filter((line) => line.match(/https?:\/\//)).shift()
138+
.replace(/at ([^ ]+) \((.+)\)/, '$1@$2')
139+
.trim();
140+
} catch (err) { /* error structure was not as expected */ }
141+
sampleRUM('error', errData);
142+
});
137143
});
138144
}
139145

0 commit comments

Comments
 (0)