ν΅μ¬λ‘
newrelic.noticeError(error object $error, [object $customAttributes])
μ± μλμ λ°©ν΄νμ§ μκ³ λΈλΌμ°μ μ€λ₯λ₯Ό μλ³ν©λλ€.
μꡬ μ¬ν
Browser Pro λλ Pro+SPA μμ΄μ νΈ
- μ¬μ©μ μ μ μμ± μΈμμλ μμ΄μ νΈ v1118 μ΄μμ΄ νμν©λλ€.
newrelic.noticeError()
μμ΄μ νΈ v499 μ΄μμ΄ νμν©λλ€.NREUM.noticeError()
μμ΄μ νΈ v411 μ΄μμ΄ νμν©λλ€.
npmμ μ¬μ©νμ¬ λΈλΌμ°μ μμ΄μ νΈλ₯Ό μ€μΉνλ κ²½μ°
BrowserAgent
ν΄λμ€λ₯Ό μΈμ€ν΄μ€νν λjserrors
κΈ°λ₯μ νμ±νν΄μΌ ν©λλ€.features
λ°°μ΄μ λ€μμ μΆκ°ν©λλ€.import { JSErrors } from '@newrelic/browser-agent/features/jserrors';const options = {info: { ... },loader_config: { ... },init: { ... },features: [JSErrors]}μμΈν λ΄μ©μ npm λΈλΌμ°μ μ€μΉ μ€λͺ μλ₯Ό μ°Έμ‘°νμΈμ.
μ€λͺ
μ΄ νΈμΆμ μ¬μ©νμ¬ μ±μμ μ²λ¦¬λ μ€λ₯ λλ κΈ°ν κΈ°ν μ€λ₯λ₯Ό νμΈνκ±°λ κΈ°λ‘ν©λλ€. μ΄λ μ€λ₯λ₯Ό ν¬μ°©νκ³ μ²λ¦¬νμ§λ§ μ¬μ ν μ± μλμ λ°©ν΄νμ§ μκ³ μ€λ₯λ₯Ό μλ³νλ €λ κ²½μ°μ μ μ©ν©λλ€.
λν APIλ₯Ό μ¬μ©νλ©΄ μ€ν¬λ¦½νΈ μ΄κΈ°ν μ€ λλ μΈλΌμΈ μ΄λ²€νΈ νΈλ€λ¬μμ λ°μνλ μ€λ₯μ κ°μ΄ μΈλΆ μ 보 μμ΄ λ³΄κ³ λλ μ€λ₯λ₯Ό νμΈν μλ μμ΅λλ€. μ€λ₯λ λ΄λ λ¦μ΄ μΌλ°μ μΌλ‘ κ°μ§νλ λ€λ₯Έ μ€λ₯μ ν¨κ» Errors νμ΄μ§ μ νμλ©λλ€. λν JavaScriptError
μ΄λ²€νΈ λ‘ κΈ°λ‘λ©λλ€. μλ₯Ό λ€μ΄:
var err = new Error('Report caught error to New Relic');newrelic.noticeError(err);
μ°Έκ³ : λ¨μΌ μμ²μμ 1000κ° μ΄μμ JavaScriptError
μ΄λ²€νΈκ° μ μ‘λλ©΄ 1000κ°μ κ°λ³ μ΄λ²€νΈλ§ κΈ°λ‘λ©λλ€. κ·Έλ¬λ μ΄ μ΄λ²€νΈ μλ λ΄λΆμ μΌλ‘ 보쑴λλ©° EXTRAPOLATE
쿼리 μ μ μ¬μ©νμ¬ μ‘μΈμ€ν μ μμ΅λλ€.
맀κ°λ³μ
맀κ°λ³μ | μ€λͺ |
---|---|
μ€λ₯ κ°μ²΄ | νμμ. λΈλΌμ°μ μ Errors νμ΄μ§ μμ λ°μ΄ν°λ₯Ό λΆμν λ μ¬μ©ν μ μλ μλ―Έ μλ μ€λ₯ λ©μμ§λ₯Ό μ 곡νμΈμ. |
| μ ν κ³Όλͺ©. μ¬μ©μ μ μ μμ±μ λνλ΄λ μ΄λ¦/κ° μμ ν¬ν¨νλ κ°μ²΄μ λλ€. |
μ
μ€μνμ§ μμ μ€λ₯
μ΄ μλ newrelic.noticeError
APIλ₯Ό μ¬μ©νμ¬ μ ν리μΌμ΄μ
μ λ°©ν΄νμ§ μμΌλ €λ λ°κ²¬λ μ€λ₯λ₯Ό λ³΄κ³ νλ λ°©λ²μ 보μ¬μ€λλ€. μ΄λ μ€μνμ§ μμ μ€λ₯κ° μ¬μ©μ κ²½νμ μν₯μ λ―ΈμΉμ§ μμ§λ§ μ¬μ ν κ°λ°μμκ² λ³΄κ³ νλ €λ κ²½μ°μ μ μ©ν©λλ€. μμ μ½λλ μλͺ»λ JSONμ κ²½μ° κΈ°λ³Έ foo
κ°μ²΄λ₯Ό μμ νκ² μ¬μ©ν©λλ€.
var foo;try { foo = JSON.parse('{ "bar"');} catch (err) { //Report caught error to New Relic newrelic.noticeError(err);
foo = { bar: 'default value' };}alert(foo.bar);
μ νμ μ€λ₯κ° μλ μ½λ°±
μ΄ μμ λ Node.jsμμ λμ€νλκ³ Browserify κ°λ°μμ μΌλ°μ μΌλ‘ μ¬μ©λλ μ€λ₯ λ° μλ΅ ν¨ν΄ μ½λ°±μ μ¬μ©ν λ New Relicμ μ€λ₯λ₯Ό λ³΄κ³ νλ λ°©λ²μ 보μ¬μ€λλ€. alert(body);
μ μμ μ κ΄λ ¨ λ©μμ§λ‘ λ°κΏ μ μμ΅λλ€.
var xhr = require('xhr');xhr('http://localhost:8080', function(err, resp, body) { //Report unthrown error to New Relic if (err) return newrelic.noticeError(err); //Handle successful response alert(body);});
νλΌλ―Έμ€ κΈ°λ° API μμ
Promiseλ λΉλκΈ°μ μνΈ μμ©μ μ²λ¦¬νκΈ° μν λ¨μΌ ν¨ν΄μ μ 곡νμ¬ λΉλκΈ°μ μ€λ₯λ₯Ό μ½κ² μ²λ¦¬ν μ μλλ‘ ν©λλ€. κ·Έλ¬λ μ΄λ κ² νλ©΄ μ€λ₯λ₯Ό μμ ν 무μν μ μμΌλ―λ‘ κ°λ°μκ° λ³Ό μ μλ λ°©μμΌλ‘ μμ© νλ‘κ·Έλ¨μ΄ μμλ©λλ€. μ΄ μμ μμλ μ΄λ¬ν λΉλκΈ° μ€λ₯λ₯Ό New Relicμ λ³΄κ³ νμ¬ κ°κ³Όλμ§ μλλ‘ ν©λλ€.
var rest = require('rest');rest('/').then(function(res) { //Handle successful response alert(res.entity);}, function(err) { //Report unthrown error to New Relic newrelic.noticeError(err);});
μ¬μ©μ μ μ μμ± μΊ‘μ² μ
try { // code that throws an error} catch (err) { newrelic.noticeError(err, { attribute1: 'value1', attribute2: 2 });}
λΈλΌμ°μ μ ν μ¬ν(Apple Safari λ° Microsoft Internet Explorerλ§ ν΄λΉ)
μ€λ₯κ° λ°κ²¬λμ΄ λ€μ λ°μνλ©΄ μ€ν μΆμ μ΄ μμ΅λλ€. μ΄λ¬ν κ²½μ° newrelic.noticeError
APIκ° λͺ¨λ λΈλΌμ°μ μ νμ λν μ€ν μΆμ μ λ³΄κ³ νλλ‘ νλ €λ©΄ μ΄λ₯Ό catch
λ¬Έμ APIμ μ λ¬ν΄μΌ ν©λλ€.
try {throw errorObject;} catch (err) {newrelic.noticeError(err);throw err; // loses stack trace!}