рдЬрдм рдореИрдВ рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ рд╡рд┐рдХрд╛рд╕ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рддреЛ рдореИрдВ рд╕рдВрддрд░реА рдХреЛ рддреНрд░реБрдЯрд┐рдпрд╛рдВ рднреЗрдЬрдирд╛ рдЕрдХреНрд╖рдо рдХрд░ рджреЗрддрд╛ рд╣реВрдВ рд▓реЗрдХрд┐рди рдореИрдВ рдЕрднреА рднреА рдЙрди рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдЕрдкрдиреЗ рдХрдВрд╕реЛрд▓ рдореЗрдВ рджрд┐рдЦрд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рддрд╛рдХрд┐ рдореИрдВ рдЙрдиреНрд╣реЗрдВ рдареАрдХ рдХрд░ рд╕рдХреВрдВред
рд╕реЗрдВрдЯреНрд░реА рдХреЛ рдЕрдкрд╡рд╛рдж/рдШрдЯрдирд╛рдПрдВ рднреЗрдЬрдиреЗ рдХреЛ рдЕрдХреНрд╖рдо рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдлрд┐рд░ рднреА рдЙрдиреНрд╣реЗрдВ рдХрдВрд╕реЛрд▓ рдкрд░ рд▓реЙрдЧ рдЗрди рдХрд░реЗрдВ?
рд╣рдордиреЗ рдЗрд╕ рдХрд╛рд░рдг рд╕реЗ captureException
рд▓рдкреЗрдЯрд╛:
function captureException(...args) {
if (typeof Sentry !== 'undefined') {
Sentry.captureException(...args);
}
else {
console.error(...args);
}
}
рдореИрдВ рдХрд╣реВрдВрдЧрд╛ рдХрд┐ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рддрд░реАрдХрд╛ рдЙрдкрдпреЛрдЧ рд╣реЛрдЧрд╛ beforeSend
```рдЬреЗрдПрд╕
рд╕рдВрддрд░реА.рдЗрдирд┐рдЯ({
рдбреАрдПрд╕рдПрди: "рдбреАрдПрд╕рдПрди",
рдкрд╣рд▓реЗ рднреЗрдЬреЗрдВ: рдШрдЯрдирд╛ => {
рдЕрдЧрд░ (IS_DEBUG) {
рдХрдВрд╕реЛрд▓.рддреНрд░реБрдЯрд┐ (рдШрдЯрдирд╛);
рд╡рд╛рдкрд╕реА рд╢реВрдиреНрдп; // рдпрд╣ рдШрдЯрдирд╛ рдХреЛ рдЫреЛрдбрд╝ рджреЗрддрд╛ рд╣реИ рдФрд░ рд╕рдВрддрд░реА рдХреЛ рдХреБрдЫ рднреА рдирд╣реАрдВ рднреЗрдЬрд╛ рдЬрд╛рдПрдЧрд╛
}
рд╡рд╛рдкрд╕реА рдХреА рдШрдЯрдирд╛;
}
});
рдореБрдЭреЗ beforeSend
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬреЛ рдкрд╕рдВрдж рдирд╣реАрдВ рд╣реИ рд╡рд╣ рдпрд╣ рд╣реИ рдХрд┐ рдореБрдЭреЗ рдореВрд▓ рддреНрд░реБрдЯрд┐ рд╡рд╕реНрддреБ рдирд╣реАрдВ рдорд┐рд▓рддреА рд╣реИред рд▓реЗрдХрд┐рди рдЙрддреНрддрд░ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред
@gaastonsr рдЖрдк рджреВрд╕рд░реЗ рддрд░реНрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд░рддреЗ рд╣реИрдВ :) https://docs.sentry.io/learn/filtering/?platform=browser#before -send
Sentry.init({
dsn: "DSN",
beforeSend: (event, hint) => {
if (IS_DEBUG) {
console.error(hint.originalException || hint.syntheticException);
return null; // this drops the event and nothing will be sent to sentry
}
return event;
}
});
рдУрдордЧ, рдпрд╣ рд╕рдм рдХреБрдЫ рдмрджрд▓ рджреЗрддрд╛ рд╣реИ! рдзрдиреНрдпрд╡рд╛рдж, @kamilogorekред
рдореБрдЭреЗ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдореЗрдВ 30 рдорд┐рдирдЯ рдХрд╛ рд╕рдордп рд▓рдЧрд╛ рдХрд┐ рдореЗрд░рд╛ рдХрдВрд╕реЛрд▓ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рд▓реЙрдЧ рдХреНрдпреЛрдВ рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИред рдпрд╣ рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред
рдпрд╣рд╛рдВ рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдпрджрд┐ рд╣рдо рдЗрд╕реЗ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рд▓реЙрдЧ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рдЗрд╕реЗ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдмреНрд░реЗрдбрдХреНрд░рдВрдм рдХреЗ рд░реВрдк рдореЗрдВ рднреА рдХреИрдкреНрдЪрд░ рдХрд░реЗрдВрдЧреЗред рдФрд░ рд╣рдо рдЗрд╕реЗ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдХреИрдкреНрдЪрд░ рдПрд░рд░ рдХреЗ рд▓рд┐рдП рдХрд░рддреЗ рд╣реИрдВред рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдпрд╣ рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпрд╛рдБ рдмрдирд╛рдПрдЧрд╛ред
рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореЗрд░реЗ рдХрд╛рди рдлреАрдбрдмреИрдХ рдХреЗ рд▓рд┐рдП рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЦреБрд▓реЗ рд╣реИрдВ рдФрд░ рдЕрдЧрд░ рдХрд┐рд╕реА рдХреЛ рдЗрд╕ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рднрд╛рдЧ рдХреЛ рдмреЗрд╣рддрд░ рдмрдирд╛рдиреЗ рдХрд╛ рдХреЛрдИ рд╡рд┐рдЪрд╛рд░ рд╣реИ, рддреЛ рдореБрдЭреЗ рдЗрд╕реЗ рд╢рд╛рдорд┐рд▓ рдХрд░рдиреЗ рдореЗрдВ рдЦреБрд╢реА рд╣реЛрдЧреА :)
рдпрд╣рд╛рдВ рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдпрджрд┐ рд╣рдо рдЗрд╕реЗ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рд▓реЙрдЧ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рдЗрд╕реЗ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдмреНрд░реЗрдбрдХреНрд░рдВрдм рдХреЗ рд░реВрдк рдореЗрдВ рднреА рдХреИрдкреНрдЪрд░ рдХрд░реЗрдВрдЧреЗред рдФрд░ рд╣рдо рдЗрд╕реЗ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдХреИрдкреНрдЪрд░ рдПрд░рд░ рдХреЗ рд▓рд┐рдП рдХрд░рддреЗ рд╣реИрдВред рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдпрд╣ рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпрд╛рдБ рдмрдирд╛рдПрдЧрд╛ред
рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореЗрд░реЗ рдХрд╛рди рдлреАрдбрдмреИрдХ рдХреЗ рд▓рд┐рдП рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЦреБрд▓реЗ рд╣реИрдВ рдФрд░ рдЕрдЧрд░ рдХрд┐рд╕реА рдХреЛ рдЗрд╕ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рднрд╛рдЧ рдХреЛ рдмреЗрд╣рддрд░ рдмрдирд╛рдиреЗ рдХрд╛ рдХреЛрдИ рд╡рд┐рдЪрд╛рд░ рд╣реИ, рддреЛ рдореБрдЭреЗ рдЗрд╕реЗ рд╢рд╛рдорд┐рд▓ рдХрд░рдиреЗ рдореЗрдВ рдЦреБрд╢реА рд╣реЛрдЧреА :)
рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЕрдкреНрд░рддреНрдпрд╛рд╢рд┐рдд рд╡реНрдпрд╡рд╣рд╛рд░ рд╣реИ рдХрд┐ рд╕рдВрддрд░реА рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдкрдХрдбрд╝рддрд╛ рд╣реИ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдХрдВрд╕реЛрд▓ рдореЗрдВ рдирд╣реАрдВ рджрд┐рдЦрд╛рддрд╛ рд╣реИ!
рдореИрдВрдиреЗ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдореЗрдВ рднреА рдПрдХ рдШрдВрдЯрд╛ рдмрд┐рддрд╛рдпрд╛ рдХрд┐ рдореЗрд░рд╛ рдРрдк рдХрд╛рдо рдХреНрдпреЛрдВ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдХрдВрд╕реЛрд▓ рд╕реНрдкрд╖реНрдЯ рд╣реИред
рдпрд╣ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдмрджрд▓рд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рд╕рд░реНрд╡рд░ рд╕рд╛рдЗрдб рдкрд░ рдмреНрд░реЗрдбрдХреНрд░рдВрдм рд╕реЗ рддреНрд░реБрдЯрд┐ рдХреЛ рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдпрд╛ рд╢рд╛рдпрдж рдЗрд╕реЗ setTimeout
рдХреЙрд▓рдмреИрдХ рдореЗрдВ рдХрдВрд╕реЛрд▓ рдкрд░ рд▓реЙрдЧ рдЗрди рдХрд░реЗрдВ, рдЗрд╕рд▓рд┐рдП рдмреНрд░реЗрдбрдХреНрд░рдВрдм рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдХрдмреНрдЬрд╛ рдХрд░ рд▓рд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдХрд░рддрд╛ рд╣реВрдВ:
Sentry.init({
dsn: 'DSN',
beforeSend: (event, hint) => {
setTimeout(() => console.error(hint.originalException || hint.syntheticException), 0);
return event;
}
});
@vitalets рдЗрд╕реЗ 5.9.0
рдореЗрдВ рдмрджрд▓ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЕрдм рдЖрдкрдХреЛ рдХрдВрд╕реЛрд▓ рдореЗрдВ рднреА рддреНрд░реБрдЯрд┐рдпрд╛рдБ рджрд┐рдЦрд╛рдИ рджреЗрдВрдЧреАред
@vitalets рдЗрд╕реЗ
5.9.0
рдореЗрдВ рдмрджрд▓ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЕрдм рдЖрдкрдХреЛ рдХрдВрд╕реЛрд▓ рдореЗрдВ рднреА рддреНрд░реБрдЯрд┐рдпрд╛рдБ рджрд┐рдЦрд╛рдИ рджреЗрдВрдЧреАред
@ рдХрд╛рдорд┐рд▓реЛрдЧреЛрд░реЗрдХ
рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП sentry/browser 5.9.1
(рдХреНрд░реЛрдо 78, рдУрдПрд╕рдПрдХреНрд╕) рдкрд░ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред
рдпрд╣рд╛рдБ рдХреЛрдб рд╣реИрдВ:
Sentry.init({ dsn: 'dsn' });
setTimeout(() => {throw new Error('abc')}, 3000);
рдХрдВрд╕реЛрд▓ рдЦрд╛рд▓реА рд╣реИред рдиреЗрдЯрд╡рд░реНрдХ рдЯреИрдм рджрд┐рдЦрд╛рддрд╛ рд╣реИ рдХрд┐ рддреНрд░реБрдЯрд┐ рд╕рдВрддрд░реА рдХреЛ рднреЗрдЬреА рдЧрдИ рдереАред
рд╕рдВрддрд░реА рддреНрд░реБрдЯрд┐ рдХреЗ рдмрд┐рдирд╛ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ:
// Sentry.init({ dsn: 'dsn' });
setTimeout(() => {throw new Error('abc')}, 3000);
рдпрд╣ рдХреИрдкреНрдЪрд░ рдЕрдкрд╡рд╛рдж рдХреЗ рд▓рд┐рдП рд▓реЙрдЧ рдХрд░рддрд╛ рд╣реИ рдХреИрдкреНрдЪрд░ рдИрд╡реЗрдВрдЯ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ:
рдХреИрдкреНрдЪрд░рдЗрд╡реЗрдВрдЯ рдФрд░ @kamilogorek рдХреЗ рд╕рдорд╛рдзрд╛рди рдХреЛ рдереЛрдбрд╝рд╛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд┐рдпрд╛ рд╣реИ:
Sentry.init({
dsn: "DSN",
beforeSend: (event, hint) => {
if (IS_DEBUG) {
console.error(hint.originalException || hint.syntheticException || event);
return null; // this drops the event and nothing will be sent to sentry
}
return event;
}
});
@kamilogorek рдХреНрдпрд╛ рдпрд╣ @sentry/node
рдкреИрдХреЗрдЬ рдХреЗ рд▓рд┐рдП рднреА рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╣реИ? рдореЗрд░реЗ рдкрд╛рд╕ 5.9.0
рд╕рдВрд╕реНрдХрд░рдг рд╣реИ рдФрд░ рдореБрдЭреЗ beforeSend
рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдХрдВрд╕реЛрд▓ рдореЗрдВ рдХреБрдЫ рднреА рд▓реЙрдЧ рдЗрди рдирд╣реАрдВ рджрд┐рдЦ рд░рд╣рд╛ рд╣реИред
рдореИрдВ рднреА 5.10.1 рдХреЗ рд╕рд╛рде рдХрдВрд╕реЛрд▓ рдкрд░ рдХреЛрдИ рддреНрд░реБрдЯрд┐ рдирд╣реАрдВ рджреЗрдЦрддрд╛ред рдпрджрд┐ рдбреАрдмрдЧ рд╕рддреНрдп рдкрд░ рд╕реЗрдЯ рд╣реИ рддреЛ рд▓реЙрдЧрд┐рдВрдЧ рдкрд░реНрдпрд╛рдкреНрдд рд╣реЛрдЧреАред
рдРрд╕рд╛ рддрдм рд╣реЛрддрд╛ рд╣реИ рдЬрдм рдЖрдк рд╡рд┐рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЛ рдЕрдВрдд рддрдХ рдирд╣реАрдВ рдкрдврд╝рддреЗ рд╣реИрдВ...
https://html.spec.whatwg.org/multipage/webappapis.html#the -event-handler-processing-algorithm
рдпрджрд┐ рд╡рд┐рд╢реЗрд╖ рддреНрд░реБрдЯрд┐ рдИрд╡реЗрдВрдЯ рд╣реИрдВрдбрд▓рд┐рдВрдЧ рд╕рддреНрдп рд╣реИ
рдпрджрд┐ рд╡рд╛рдкрд╕реА рдорд╛рди рд╕рддреНрдп рд╣реИ, рддреЛ рдИрд╡реЗрдВрдЯ рдХрд╛ рд░рджреНрдж рдХрд┐рдпрд╛ рдЧрдпрд╛ рдзреНрд╡рдЬ рд╕реЗрдЯ рдХрд░реЗрдВред
рдЕрдиреНрдпрдерд╛
рдпрджрд┐ рд╡рд╛рдкрд╕реА рдореВрд▓реНрдп рдЧрд▓рдд рд╣реИ, рддреЛ рдИрд╡реЗрдВрдЯ рдХрд╛ рд░рджреНрдж рдХрд┐рдпрд╛ рдЧрдпрд╛ рдзреНрд╡рдЬ рд╕реЗрдЯ рдХрд░реЗрдВред
рдФрд░ рдлрд┐рд░ рдЖрдк рд╕реНрдХреНрд░реЙрд▓ рдХрд░реЗрдВ ...
рдРрддрд┐рд╣рд╛рд╕рд┐рдХ рдХрд╛рд░рдгреЛрдВ рд╕реЗ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдореЗрдВ рджреЛ рдЕрдкрд╡рд╛рдж рд╣реИрдВ:
рд╡реИрд╢реНрд╡рд┐рдХ рд╡рд╕реНрддреБрдУрдВ рдкрд░ рдЖрддрдВрдХрд╡рд╛рджреА рд╣реИрдВрдбрд▓рд░, рдЬрд╣рд╛рдВ рд╕рдЪ рд▓реМрдЯрдирд╛ рдШрдЯрдирд╛ рдХреЛ рд░рджреНрдж рдХрд░ рджреЗрддрд╛ рд╣реИ
рдореИрдВ рддрджрдиреБрд╕рд╛рд░ рдХреЛрдб рдЕрдкрдбреЗрдЯ рдХрд░реВрдВрдЧрд╛
рдЬрдм рдЖрдк рдЪрд╢реНрдорд╛ рдирд╣реАрдВ рдкрдврд╝рддреЗ рд╣реИрдВ рддреЛ рдРрд╕рд╛ рд╣реЛрддрд╛ рд╣реИ
рдХреЛрдИ рднреА рдЕрдВрдд рддрдХ рдЪрд╢реНрдорд╛ рдирд╣реАрдВ рдкрдврд╝рддрд╛ :)
рдлрд┐рдХреНрд╕ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж!
рдЕрдЧрд░ рдореИрдВ рдЗрд╕ рдзрд╛рдЧреЗ рдХреЛ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдкрдврд╝ рд░рд╣рд╛ рд╣реВрдВ рддреЛ рд╕рдВрддрд░реА рдХреА рд╡рд░реНрддрдорд╛рди рд░рд┐рд▓реАрдЬ рдХреЛ рдХрдВрд╕реЛрд▓ рдореЗрдВ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рджрд┐рдЦрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдЬрдмрдХрд┐ рдЙрдиреНрд╣реЗрдВ рд╕рдВрддрд░реА рдбреИрд╢рдмреЛрд░реНрдб рдкрд░ рднреЗрдЬрдирд╛ рдЪрд╛рд╣рд┐рдПред рдореИрдВ рдЗрд╕ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд╛ рдЕрдиреБрднрд╡ рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред
рдпрд╣рд╛рдВ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ рдХрд┐ рдореИрдВ рдЕрдкрдиреЗ рдкреЗрдЬ рдореЗрдВ рд╕рдВрддрд░реА рдХреИрд╕реЗ рд▓реЛрдб рдХрд░ рд░рд╣рд╛ рд╣реВрдВ:
<script src="https://browser.sentry-cdn.com/5.20.1/bundle.min.js" integrity="sha384-O8HdAJg1h8RARFowXd2J/r5fIWuinSBtjhwQoPesfVILeXzGpJxvyY/77OaPPXUo" crossorigin="anonymous"></script>
<script src="https://browser.sentry-cdn.com/5.20.1/vue.min.js" crossorigin="anonymous"></script>
рдпрд╣рд╛рдБ рдореЗрд░реА рдЖрд░рдВрднреАрдХрд░рдг рдХреЙрд▓ рд╣реИ:
Sentry.init({
dsn: 'https://_________.ingest.sentry.io/___________',
integrations: [new Sentry.Integrations.Vue({Vue, attachProps: true})],
});
рдореИрдВрдиреЗ рдирд┐рдореНрди рддреНрд░реБрдЯрд┐ рдЙрддреНрдкрд╛рджрди рд▓рд╛рдЗрди рдЬреЛрдбрд╝рд╛ рд╣реИ:
window.undef.undef += 1;
рдЬрдм рдореИрдВ рдкреГрд╖реНрда рд▓реЛрдб рдХрд░рддрд╛ рд╣реВрдВ рдФрд░ рддреНрд░реБрдЯрд┐ рд░реЗрдЦрд╛ рдХреЛ рдЯреНрд░рд┐рдЧрд░ рдХрд░рддрд╛ рд╣реВрдВ рддреЛ рдХрдВрд╕реЛрд▓ рдореЗрдВ рдХреБрдЫ рднреА рджрд┐рдЦрд╛рдИ рдирд╣реАрдВ рджреЗрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд╕рдВрддрд░реА рдбреИрд╢рдмреЛрд░реНрдб рдореЗрдВ рддреНрд░реБрдЯрд┐ рджрд┐рдЦрд╛рдИ рджреЗрддреА рд╣реИред рдЕрдЧрд░ рдореИрдВ Sentry.init
рдХреЙрд▓ рдкрд░ рдЯрд┐рдкреНрдкрдгреА рдХрд░рддрд╛ рд╣реВрдВ рддреЛ рдореБрдЭреЗ рдЬреЗрдПрд╕ рдХрдВрд╕реЛрд▓ рдореЗрдВ TypeError
рджреЗрддрд╛ рд╣реИред
рдореБрдЭреЗ рдЗрд╕ рдзрд╛рдЧреЗ рдХреЗ рдЕрдкрдиреЗ рдкрдврд╝рдиреЗ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЙрдореНрдореАрдж рдереА рдХрд┐ рдореБрдЭреЗ рдЬреЗрдПрд╕ рдХрдВрд╕реЛрд▓ рдореЗрдВ рддреНрд░реБрдЯрд┐ рджрд┐рдЦрд╛рдИ рджреЗрдЧреА, рдЬрдмрдХрд┐ рдЗрд╕реЗ рд╕рдВрддрд░реА рдбреИрд╢рдмреЛрд░реНрдб рдкрд░ рднреА рд▓реЙрдЧ рдЗрди рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдХреНрдпрд╛ рдпрд╣ рд╕рд╣реА рдирд╣реАрдВ рд╣реИ? рдХреНрдпрд╛ рдореБрдЭреЗ рдЕрднреА рднреА beforeSend
рд╣реБрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ?
рдореБрдЭреЗ рдЕрдм рдПрд╣рд╕рд╛рд╕ рд╣реБрдЖ рдХрд┐ рдореБрдЭреЗ logErrors: true
рдХреЛ Integrations.Vue
рдХреЙрд▓ рдореЗрдВ рдкрд╛рд╕ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:
new Sentry.Integrations.Vue({Vue, attachProps: true, logErrors: true}
рдХреНрд╖рдорд╛ рдХрд░реЗрдВ, рдореБрдЭреЗ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реЛрдВ рдХреЛ рдЕрдзрд┐рдХ рдмрд╛рд░реАрдХреА рд╕реЗ рдкрдврд╝рдирд╛ рдЪрд╛рд╣рд┐рдП рдерд╛!
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
@gaastonsr рдЖрдк рджреВрд╕рд░реЗ рддрд░реНрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд░рддреЗ рд╣реИрдВ :) https://docs.sentry.io/learn/filtering/?platform=browser#before -send