Co-authored-by: gorbenko.pavel <gorbenko.pavel@tansu.kz> Reviewed-on: http://git.tnsu.kz/timur.gorodetskiy/request-portal/pulls/6
This commit was merged in pull request #6.
This commit is contained in:
@@ -52,16 +52,26 @@ export function describeReason(reason: unknown): string {
|
||||
}
|
||||
}
|
||||
|
||||
function logError(kind: string, reason: unknown): void {
|
||||
console.error(`${PREFIX} ${kind}: ${describeReason(reason)}`);
|
||||
// Стек и объект — отдельными аргументами: так консоль браузера даёт
|
||||
// раскрыть объект и перейти по стеку, а не показывает «[object Object]».
|
||||
if (reason instanceof Error && reason.stack) console.error(`${PREFIX} Стек:`, reason.stack);
|
||||
console.error(`${PREFIX} Причина целиком:`, reason);
|
||||
}
|
||||
|
||||
export function installErrorLogging(): void {
|
||||
if (installed) return;
|
||||
installed = true;
|
||||
|
||||
window.addEventListener('unhandledrejection', (e: PromiseRejectionEvent) => {
|
||||
const reason: unknown = e.reason;
|
||||
console.error(`${PREFIX} Необработанная ошибка: ${describeReason(reason)}`);
|
||||
// Стек и объект — отдельными аргументами: так консоль браузера даёт
|
||||
// раскрыть объект и перейти по стеку, а не показывает «[object Object]».
|
||||
if (reason instanceof Error && reason.stack) console.error(`${PREFIX} Стек:`, reason.stack);
|
||||
console.error(`${PREFIX} Причина целиком:`, reason);
|
||||
logError('Необработанная ошибка', e.reason);
|
||||
});
|
||||
|
||||
// Синхронные ошибки страницы. Раньше их ловил ErrorOverlay ради углового
|
||||
// уведомления; уведомление убрано (чужая ошибка со страницы SharePoint
|
||||
// выглядела как поломка портала), а разбор нужен — поэтому он переехал сюда.
|
||||
window.addEventListener('error', (e: ErrorEvent) => {
|
||||
logError('Ошибка на странице', e.error || e.message);
|
||||
});
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user