Simple tracking for frontend js errors
This commit is contained in:
parent
2e96851bb9
commit
143f7d3543
|
@ -691,6 +691,20 @@ router.get("/debug-error", (_req, res) => {
|
||||||
res.send("should never reach here");
|
res.send("should never reach here");
|
||||||
});
|
});
|
||||||
|
|
||||||
|
router.post("/frontend-error", (req, res) => {
|
||||||
|
const message = req.body.message;
|
||||||
|
const stacktrace = req.body.stacktrace;
|
||||||
|
|
||||||
|
if (SENTRY_DSN && process.env.NODE_ENV == "production") {
|
||||||
|
Sentry.captureEvent({
|
||||||
|
message,
|
||||||
|
stacktrace,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
res.send("ok");
|
||||||
|
});
|
||||||
|
|
||||||
router.get("/metrics", { public: true }, (_req, res) => {
|
router.get("/metrics", { public: true }, (_req, res) => {
|
||||||
res.set("Content-Type", metrics.register.contentType);
|
res.set("Content-Type", metrics.register.contentType);
|
||||||
res.end(metrics.register.metrics());
|
res.end(metrics.register.metrics());
|
||||||
|
|
|
@ -31,3 +31,30 @@ document.addEventListener("readystatechange", (event) => {
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
setTimeout(fixImageHeights, 2000);
|
setTimeout(fixImageHeights, 2000);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Client JS error monitoring
|
||||||
|
*/
|
||||||
|
|
||||||
|
window.debugError = () => {
|
||||||
|
const throwLevel1 = () => {
|
||||||
|
throwLevel2();
|
||||||
|
};
|
||||||
|
const throwLevel2 = () => {
|
||||||
|
const object = {};
|
||||||
|
object.isUndefinedAFunction();
|
||||||
|
};
|
||||||
|
setTimeout(throwLevel1, 1);
|
||||||
|
};
|
||||||
|
|
||||||
|
window.onerror = (message, _url, _lineNo, _columnNo, error) => {
|
||||||
|
fetch("/frontend-error", {
|
||||||
|
method: "POST",
|
||||||
|
headers: { "Content-Type": "application/x-www-form-urlencoded" },
|
||||||
|
body:
|
||||||
|
"message=" +
|
||||||
|
encodeURIComponent(message.toString()) +
|
||||||
|
"&stacktrace=" +
|
||||||
|
encodeURIComponent(error.stack),
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
Loading…
Reference in New Issue