ํต์ฌ๋ก
newrelic.setErrorHandler(function $callback)
๋ธ๋ผ์ฐ์ ์์ด์ ํธ๊ฐ ์บก์ฒํ๋ ์๋ ค์ง ์ค๋ฅ๋ฅผ ์ ํ์ ์ผ๋ก ๋ฌด์ํ๊ณ ๊ทธ๋ฃนํํ ์ ์์ต๋๋ค.
์๊ตฌ ์ฌํญ
Browser Pro ๋๋ Pro+SPA ์์ด์ ํธ(v974 ์ด์)
- ์ค๋ฅ ๊ทธ๋ฃนํ ๊ธฐ๋ฅ์ ์ํด์๋ v1.230.0 ์ด์์ด ํ์ํฉ๋๋ค.
npm์ ์ฌ์ฉํ์ฌ ๋ธ๋ผ์ฐ์ ์์ด์ ํธ๋ฅผ ์ค์นํ๋ ๊ฒฝ์ฐ
BrowserAgent
ํด๋์ค๋ฅผ ์ธ์คํด์คํํ ๋jserrors
๊ธฐ๋ฅ์ ํ์ฑํํด์ผ ํฉ๋๋ค.features
๋ฐฐ์ด์ ๋ค์์ ์ถ๊ฐํฉ๋๋ค.import { JSErrors } from '@newrelic/browser-agent/features/jserrors';const options = {info: { ... },loader_config: { ... },init: { ... },features: [JSErrors]}์์ธํ ๋ด์ฉ์ npm ๋ธ๋ผ์ฐ์ ์ค์น ์ค๋ช ์๋ฅผ ์ฐธ์กฐํ์ธ์.
์ค๋ช
newrelic.setErrorHandler()
API ํธ์ถ์ ์ฌ์ฉํ๋ฉด ๋ธ๋ผ์ฐ์ ์์ด์ ํธ๊ฐ ์บก์ฒํ๋ ์๋ ค์ง ์ค๋ฅ๋ฅผ ์ ํ์ ์ผ๋ก ๋ฌด์ํ ์ ์์ต๋๋ค. ๋ธ๋ผ์ฐ์ ์์ด์ ํธ๊ฐ ์บก์ฒํ๋ ๊ฐ ์ค๋ฅ์ ๋ํด ํธ์ถ๋๋ ๋จ์ผ ์ค๋ฅ ์ฒ๋ฆฌ๊ธฐ ํจ์๊ฐ ํ์ํฉ๋๋ค. ํธ๋ค๋ฌ๊ฐ true
์ ๋ฐํํ๋ฉด New Relic์ ์ค๋ฅ๋ฅผ ๊ธฐ๋กํ์ง ์์ต๋๋ค . ๊ทธ๋ ์ง ์์ผ๋ฉด ์ค๋ฅ๊ฐ ์ ์์ ์ผ๋ก ์ฒ๋ฆฌ๋ฉ๋๋ค.
๋ํ ์ดํ ๋ฒ์ ์ ์์ด์ ํธ๋ ์ฌ์ฉ์ ์ง์ ์ ๊ณต ๋ ์ด๋ธ์ ์ฌ์ฉํ์ฌ ์์ธ์ ํ๊ฑฐํ๋ฆฐํ
๋๋ ๊ทธ๋ฃนํ๋ฅผ ์ง์ํฉ๋๋ค. ์ด๋ ๊ฒ ํ๋ ค๋ฉด group
์์ฑ์ด ์ํ๋ ๋ฌธ์์ด๋ก ์ค์ ๋ ๋ถ์ธ ๋์ ๊ฐ์ฒด๋ฅผ ๋ฐํํฉ๋๋ค. ๋น ๋ฌธ์์ด ๋๋ ์ด ์ ํํ ์ฌ์์ ์ค์ํ์ง ์๋ ๊ฐ์ฒด๋ฅผ ์ ๊ณตํ๋ ๊ฒ์ ์ค๋ฅ๊ฐ ๋ฌด์๋๋ true
์ฌ๋ก์ ๋์ผํ๊ฒ ์ทจ๊ธ๋๋ค๋ ์ ์ ์๋ ๊ฒ์ด ์ค์ํฉ๋๋ค. ์ด ๋์์ ์ด์ ๋ฒ์ ๊ณผ ํธํ๋ฉ๋๋ค.
๋งค๊ฐ๋ณ์
๋งค๊ฐ๋ณ์ | ์ค๋ช |
---|---|
๊ธฐ๋ฅ | ํ์ . ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ฉด ์ค๋ฅ ๊ฐ์ฒด๋ฅผ ๋งค๊ฐ๋ณ์๋ก ํ์ฌ ์ฝ๋ฐฑ์ด ํธ์ถ๋ฉ๋๋ค. ์ฝ๋ฐฑ์ ๊ฐ ์ค๋ฅ์ ํจ๊ป ํธ์ถ๋๋ฏ๋ก ํ๋์ ์ค๋ฅ์๋ง ๊ตญํ๋์ง ์์ต๋๋ค. |
์
๊ธฐ๋ณธ ์ค๋ฅ ์ฒ๋ฆฌ๊ธฐ ๊ธฐ๋ฅ ์ฌ์ฉ
๋ธ๋ผ์ฐ์ ์์ด์ ํธ๊ฐ ์บก์ฒํ๋ ํน์ ์ค๋ฅ๋ฅผ ๋ฌด์ํ๋ ค๋ฉด ์ฝ๋ฐฑ ํจ์ ๋ด๋ถ์ ์ค๋ฅ ๊ฐ์ฒด๋ฅผ ํฌํจํฉ๋๋ค.
newrelic.setErrorHandler(function(err) { if (shouldIgnoreError(err)) { return true; } else { return false; }});
ํธ๋ค๋ฌ ๊ธฐ๋ฅ์ ์ง๋ฌธ ์ค๋ฅ
์ค๋ฅ ๋ฐ์ ํธ์งํจ UI์์ ๋ณผ ์ ์๋๋ก ํน์ ์ค๋ฅ์ ์ฌ์ฉ์ ์ง์ ๋ ์ด๋ธ์ ํ ๋นํฉ๋๋ค.
newrelic.setErrorHandler(function(err) { if (isReferenceError(err)) { return { group: 'My reference errors' }; // error is included and tagged under this label } else if (isSomeSpecificError(err)) { return { group: '' }; // error will be excluded! // return { Group: 'still excluded - prop name has capital G!' }; } else { return false; // error is included without any label }})