@sentry/[email protected]
์ ์ญ ์ด๋ฒคํธ ํ๋ก์ธ์์์ ๋ฐ์ํ ์ค๋ฅ๋ Sentry ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ์ํด ์ ํ๋์ด ๋ค์ ํ ๋ฒ ์ค๋ฅ๋ฅผ ๋ฐ์์ํฌ ๋์ผํ ์ ์ญ ์ด๋ฒคํธ ํ๋ก์ธ์๋ฅผ ํธ์ถํ๋ ๋ ๋ค๋ฅธ ์ค๋ฅ ์บก์ฒ๋ฅผ ์์ํฉ๋๋ค. ์ด๊ฒ์ ์ ์ ์๋ ํ์๋งํผ ๋ฐ๋ณต๋ฉ๋๋ค(์คํ์ด ์ค๋ฒํ๋ก๋ ๋๊น์ง?). ๋ฌธ์ ๋ ์๋ ์ค๋ฅ์ ํ์ ์ด ์๊ณ ๊ฒฐํจ์ด ์๋ ์ ์ญ ์ด๋ฒคํธ ํ๋ก์ธ์์์ ๋ฐ์ํ ํ์ ์ค๋ฅ๋ ์๋ค๋ ๊ฒ์ ๋๋ค. Sentry๋ ๋ถ๋ช ํ ์ค๋ฅ๋ฅผ ์ ์คํธ๋ฆผ์ผ๋ก ๋ณด๋ผ ์ ์์ง๋ง ์๋ฌด๊ฒ๋ ๊ธฐ๋ก๋์ง ์์ต๋๋ค.
๊ฒฐํจ์ด ์๋ ๊ธ๋ก๋ฒ ์ด๋ฒคํธ ํ๋ก์ธ์๋ก ์ธํด ๋ณด๊ณ ๋๋ ์ค๋ฅ๊ฐ ์๋ค๋ ๊ฒ์ ๋ฐ๊ฒฌํ๋ ๋ฐ ์๊ฐ์ด ์ข ๊ฑธ๋ ธ์ผ๋ฏ๋ก SDK๊ฐ ์ด๋ฌํ ์ค๋ฅ๋ฅผ ์๋์ผ๋ก ๊ฐ์งํ๊ณ ๊ธฐ๋กํ ์ ์๋ค๋ฉด ์ข์ ๊ฒ์ ๋๋ค. ๊ทธ๋๊น์ง ์ฒ๋ฆฌ ์ฝ๋๋ฅผ try/catch ๋ธ๋ก์ผ๋ก ๋ํํ๊ณ ์๋์ผ๋ก ์ค๋ฅ๋ฅผ ๊ธฐ๋กํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
Sentry.addGlobalEventProcessor(event => {
try {
event.missingProperty.assignment = true
} catch (err) {
console.error('sentry global event processor threw error', err)
}
return event
})
๋๋ ์ค๋ช
๋ฃจํ๋, ๊ทธ๋ฌ๋ ๋๋ (์ฐ๋ฆฌ๋ ํฐ ๊ฐ์ง๊ณ ๋, shoudn't ์ค๋ฅ๊ฐ ์ผํจ ๊ฒ์ ํ์ธํ ์ ์ ์์ต๋๋ค catch
์ฐ๋ฆฌ์ ์ฝ์ ์ฒด์ธ์ ์ ์ ๐ค). ๊ณง ์กฐ์ฌํ๊ฒ ์ต๋๋ค. ์ ๊ณ ํด ์ฃผ์
์ ๊ฐ์ฌํฉ๋๋ค.
@kamilogorek ์ด ๋ฌธ์ ๋ฅผ ์กฐ์ฌํ๊ธฐ ์ํด ์ฃผ๋ณ์ ๋๋ฌ
@mogelbrod ํ์ฌ debug: true
ํ๊ณ ๋ฌด์ธ๊ฐ๊ฐ ์คํจํ๋ฉด ๋๋ฒ๊ทธ ๋ก๊ทธ๋ฅผ ๋ฐ๊ฒ ๋ฉ๋๋ค.
์ฌ๊ธฐ์์ ๋ ๋์ ์๋ฃจ์
์ ๊ตฌํํ์ต๋๋ค. https://github.com/getsentry/sentry-javascript/pull/2416