Sentry-javascript: wrapConsoleMethod() 의 κ±°λž˜λŠ” λ¬΄μ—‡μž…λ‹ˆκΉŒ?

에 λ§Œλ“  2016λ…„ 05μ›” 17일  Β·  15μ½”λ©˜νŠΈ  Β·  좜처: getsentry/sentry-javascript

λ‚˜λŠ” μ΅œκ·Όμ— raven이 이제 λͺ¨λ“  μ½˜μ†” λ©”μ†Œλ“œλ₯Ό λ§ˆλ¬΄λ¦¬ν•œλ‹€λŠ” 것을 μ•Œμ•˜μ§€λ§Œ κ·Έ 이유λ₯Ό μ„€λͺ…ν•˜λŠ” λ¬Έμ„œλŠ” 보이지 μ•ŠμŠ΅λ‹ˆκΉŒ? λ˜λŠ” μ–΄λ–»κ²Œ μœ μš©ν•  수 μžˆμŠ΅λ‹ˆκΉŒ? 아무도 이것을 아직 μ ‘ν•˜μ§€ λͺ»ν–ˆμœΌλ©° μ‚¬μš©μ— λŒ€ν•œ λ¬Έμ„œλ₯Ό μ•Œλ €μ€„ 수 μžˆμŠ΅λ‹ˆκΉŒ?

λ‚΄κ°€ κ²ͺ은 λ¬Έμ œλŠ” 더 이상 console.log() λ₯Ό μ‚¬μš©ν•˜μ—¬ κ°„λ‹¨ν•œ 디버깅을 μˆ˜ν–‰ν•  수 μ—†λ‹€λŠ” κ²ƒμž…λ‹ˆλ‹€. μ†ŒμŠ€κ°€ raven.jsκ°€ 되고 더 이상 λ‚΄ μ½”λ“œμ˜ μ–΄λ””μ—μ„œ λ°œμƒν•˜λŠ”μ§€ 좔적할 수 μ—†μŠ΅λ‹ˆκΉŒ?

μ›λž˜ λ¬Έμ„œ μ €μž₯μ†Œμ— κ²Œμ‹œλœ ν›„ 폐쇄됨

κ°€μž₯ μœ μš©ν•œ λŒ“κΈ€

3.5.0λΆ€ν„° μ½˜μ†” 이동 경둜의 μžλ™ μˆ˜μ§‘μ„ λΉ„ν™œμ„±ν™”ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

Raven.config('your dsn', {
  autoBreadcrumbs: {
    console: false
  }
});

λ˜λŠ” μžλ™ 이동 경둜 μˆ˜μ§‘μ„ μ™„μ „νžˆ λΉ„ν™œμ„±ν™”ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

Raven.config('your dsn', { autoBreadcrumbs: false });

이에 λŒ€ν•œ μžμ„Έν•œ λ‚΄μš©μ€ λ¬Έμ„œλ₯Ό μ°Έμ‘°ν•˜μ‹­μ‹œμ˜€ .

λͺ¨λ“  15 λŒ“κΈ€

@grapho – μ½˜μ†” λͺ…령문이 μˆ˜μ§‘λ˜μ–΄ 이동 경둜둜 μ „λ‹¬λ©λ‹ˆλ‹€.

console.log λ₯Ό κ³„μΈ‘ν•œ κ²°κ³Ό devtools의 URL이 더 이상 μ†ŒμŠ€μ˜ μ›λž˜ 둜그 문으둜 μ΄λ™ν•˜μ§€ μ•ŠλŠ”λ‹€λŠ” 것이 μ–Όλ§ˆλ‚˜ μ§œμ¦λ‚˜λŠ” 일인지 μ•Œ 수 μžˆμŠ΅λ‹ˆλ‹€. console.log 계츑을 선택 μ‚¬ν•­μœΌλ‘œ λ§Œλ“€ 수 μžˆμŠ΅λ‹ˆλ‹€. λ˜λŠ” μžμ‹ μ˜ 이동 경둜λ₯Ό κΈ°λ‘ν•˜κΈ° μœ„ν•œ λŒ€μ²΄ API둜 Raven.log λ₯Ό μ†Œκ°œν•©λ‹ˆλ‹€.

@benvinegar λ‚˜λŠ”

λŒ€μ‹  쀑단점과 디버거 λͺ…령문을 λ°°μΉ˜ν•˜λŠ” 데 μ΅μˆ™ν•΄μ§ˆ 수 μžˆμŠ΅λ‹ˆλ‹€. 이것이 ꢌμž₯λ˜λŠ” ν•΄κ²° 방법이라면?

μ½˜μ†” 문에 λŒ€ν•œ 링크λ₯Ό μ‹€μ œλ‘œ μ‚¬μš©ν•˜λŠ” κ²½μš°λŠ” 거의 μ—†μ—ˆκ³  링크가 없어진 쀄도 λͺ°λžμŠ΅λ‹ˆλ‹€. :) 개인적으둜 λŒ€λΆ€λΆ„μ˜ μ‹œκ°„μ— Chrome 디버거λ₯Ό μ‚¬μš©ν•©λ‹ˆλ‹€.

개발 ν™˜κ²½μ—μ„œ 이동 κ²½λ‘œλ‚˜ λ™λ“±ν•œ APIλ₯Ό μ‚¬μš©ν•  수 μžˆλŠ” 방법이 μžˆλ‹€λ©΄

ν˜„μž¬ 이동 경둜λ₯Ό μ„€μ •ν•˜λ €λŠ” 경우 Raven.captureBreadcrumb μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€. APIλŠ” 아직 κ΅¬μ²΄ν™”λ˜μ§€ μ•Šμ•˜μŠ΅λ‹ˆλ‹€. 이것은 μ—¬μ „νžˆ β€‹β€‹μƒˆλ‘œμš΄ κΈ°λŠ₯이며 μš°λ¦¬λŠ” μ—¬μ „νžˆ μ•½κ°„μ˜ 문제λ₯Ό ν•΄κ²°ν•˜κΈ° μœ„ν•΄ λ…Έλ ₯ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€.

이것이 μ‹¬κ°ν•œ 차단이 μ•„λ‹Œ 경우 이 문제λ₯Ό μž μ‹œ 열어두고 더 λ§Žμ€ ν”Όλ“œλ°±μ΄ μžˆλŠ”μ§€ ν™•μΈν•˜κ³  μ‹ΆμŠ΅λ‹ˆλ‹€.

μ €λŠ” 이것이 μ€‘μš”ν•œ 문제라고 μƒκ°ν•©λ‹ˆλ‹€. 특히 어디에도 λ¬Έμ„œν™”λ˜μ§€ μ•Šκ³  λΉ„ν™œμ„±ν™”ν•  수 μ—†λ‹€λŠ” μ μž…λ‹ˆλ‹€.
μš°λ¦¬κ°€ Sentry둜 보내기λ₯Ό μ›ν•˜μ§€ μ•ŠλŠ” μˆ˜λ§Žμ€ console.logκ°€ μžˆμ„ 수 μžˆμŠ΅λ‹ˆλ‹€.

무엇을 μ–Έμ œ 보낼지 μ„ νƒν•˜λŠ” 것은 개발자의 λͺ«μž…λ‹ˆλ‹€.

μ–ΈκΈ‰ν•˜μ§€ μ•Šμ€ ν•œ 가지 더, Ember.js와 같은 일뢀 JS ν”„λ ˆμž„μ›Œν¬λŠ” ν”„λ‘œλ•μ…˜ λΉŒλ“œμ—μ„œ console() λ©”μ„œλ“œλ₯Ό μ œκ±°ν•˜λŠ” κ²½ν–₯이 μžˆμŠ΅λ‹ˆλ‹€. κ³ λ €ν•  μŒμ‹μΌ λΏμž…λ‹ˆλ‹€.

μœ„μ˜ λŒ“κΈ€μ΄ 잘λͺ»λœ 것 κ°™μŠ΅λ‹ˆλ‹€, μ£„μ†‘ν•©λ‹ˆλ‹€.

@benvinegar 기꺼이 티켓을 μ—΄μ–΄μ£Όμ…”μ„œ κ°μ‚¬ν•©λ‹ˆλ‹€. μ’€ 더 쑰사해 λ³Ό κ°€μΉ˜κ°€ μžˆμ„ κ²ƒμž…λ‹ˆλ‹€. :)

@benvinegar 이 λ¬Έμ œλŠ” μ‹¬κ°ν•œ 차단기가 μ•„λ‹™λ‹ˆλ‹€.

μ—¬κΈ° λ‚΄ ν˜„μž¬ μ†”λ£¨μ…˜μ΄ μžˆμŠ΅λ‹ˆλ‹€. 개발 λͺ¨λ“œμ— μžˆμ„ λ•Œ raven.js ν΄λΌμ΄μ–ΈνŠΈλ₯Ό μ΄ˆκΈ°ν™”ν•  수 _μ—†μŠ΅λ‹ˆλ‹€_ ν•  수 μžˆλ‹€λŠ” 것을 κΉ¨λ‹¬μ•˜μŠ΅λ‹ˆλ‹€... raven/sentry λ³΄κ³ λŠ” μ–΄μ¨Œλ“  ν”„λ‘œλ•μ…˜ μ•±μ—μ„œ λŒ€λΆ€λΆ„μ˜ μ‚¬λžŒλ“€μ—κ²Œ(λ‚΄κ°€ μƒμƒν•˜λŠ”) 정말 μœ μš©ν•©λ‹ˆλ‹€.

κ·Έ 말. μ•„λ§ˆλ„ developmentMode ꡬ성 ν”Œλž˜κ·Έλ₯Ό λ„μž…ν•˜λŠ” 데 μ•½κ°„μ˜ μ‚¬μš©μ΄ μžˆμ„ 수 μžˆμŠ΅λ‹ˆλ‹€. 이 ν”Œλž˜κ·Έλ₯Ό μ‚¬μš©ν•˜λ©΄ λ©”μ‹œμ§€μ™€ 였λ₯˜κ°€ 개발 μ½˜μ†”λ‘œ 전달될 수 μžˆμŠ΅λ‹ˆλ‹€(일λͺ… "κΈ€λ‘œλ²Œ" 처리 λΉ„ν™œμ„±ν™”).. κΉŒλ§ˆκ·€λ₯Ό μœ μ§€ν•˜λ©΄μ„œ. js ν΄λΌμ΄μ–ΈνŠΈκ°€ λ°±κ·ΈλΌμš΄λ“œμ—μ„œ μ‘°μš©ν•˜λ―€λ‘œ μ›ν•˜λŠ” 경우 λͺ…μ‹œμ μœΌλ‘œ raven apiλ₯Ό νŠΈλ¦¬κ±°ν•˜μ—¬ 였λ₯˜ λ³΄κ³ μ„œλ₯Ό μˆ˜λ™μœΌλ‘œ 보낼 수 μžˆμŠ΅λ‹ˆλ‹€.

당신이 그것에 λŒ€ν•΄ μ–΄λ–»κ²Œ μƒκ°ν•˜λŠ”μ§€ μ•Œλ €μ£Όμ‹­μ‹œμ˜€. 그렇지 μ•ŠμœΌλ©΄ 이 λ¬Έμ œκ°€ 주둜 κΉŒλ§ˆκ·€μ— λŒ€ν•œ κ²½ν—˜μ΄ μ—†κ³  μ‚¬μš© 방법/μ‹œκΈ°μ— μ˜ν•΄ λ°œμƒν–ˆκΈ° λ•Œλ¬Έμ— 그것에 λŒ€ν•΄ λ„ˆλ¬΄ 많이 κ±±μ •ν•˜μ§€ μ•Šμ„ κ²ƒμž…λ‹ˆλ‹€.

μš°λ¦¬κ°€ Sentry둜 보내기λ₯Ό μ›ν•˜μ§€ μ•ŠλŠ” μˆ˜λ§Žμ€ console.logκ°€ μžˆμ„ 수 μžˆμŠ΅λ‹ˆλ‹€.

μ‹€μ œ λŒ€ν™” – μ‹€μ œλ‘œ 이것을 λΉ„ν™œμ„±ν™”ν•˜μ‹œκ² μŠ΅λ‹ˆκΉŒ? μ €λŠ” μ—¬κΈ°μ„œ μˆ˜λ™μ μœΌλ‘œ 곡격적으둜 듀리도둝 ν•˜λ €λŠ” 것이 μ•„λ‹™λ‹ˆλ‹€. μ €λŠ” 이것이 μ§€κΈˆ μ‹¬κ°ν•œ λ¬Έμ œμΈμ§€ 그리고 당신이 그것을 λΉ„ν™œμ„±ν™”ν•˜κ³  싢은지 μ•Œκ³  μ‹ΆμŠ΅λ‹ˆλ‹€.

λ‚˜λŠ” 이것이 μ€‘μš”ν•œ 문제라고 μƒκ°ν•©λ‹ˆλ‹€. 특히 어디에도 λ¬Έμ„œν™”λ˜μ§€ μ•Šμ•˜μœΌλ©°

Raven.js λ³€κ²½ λ‘œκ·Έμ— λ¬Έμ„œν™”λ˜μ–΄ μžˆμŠ΅λ‹ˆλ‹€. μš°λ¦¬λŠ” λ˜ν•œ console.log 내역이 ν˜„μž¬ 기둝되고 있으며 이 κ²Œμ‹œλ¬Όμ€ ν˜ΈμŠ€νŒ…λœ λͺ¨λ“  Sentry μ‚¬μš©μžμ—κ²Œ μ•± λ‚΄μ—μ„œ λ°©μ†‘λ˜μ—ˆλ‹€κ³  μ–ΈκΈ‰ν•˜λŠ” 이동 경둜λ₯Ό μ•Œλ¦¬λŠ” λΈ”λ‘œκ·Έ κ²Œμ‹œλ¬Όμ„ κ²Œμ‹œ ν–ˆμŠ΅λ‹ˆλ‹€. μ—°λ½λ“œλ¦¬μ§€ λͺ»ν•΄ μ£„μ†‘ν•©λ‹ˆλ‹€λ§Œ, 이λ₯Ό μ „λ‹¬ν•˜κΈ° μœ„ν•΄ μ§„μ‹¬μœΌλ‘œ λ…Έλ ₯ν•œ 것 κ°™μŠ΅λ‹ˆλ‹€.

Raven.js 3.0.xκ°€ 잠재적인 μ£Όμš” λ³€κ²½ 사항을 λ„μž…ν–ˆκΈ° λ•Œλ¬Έμ— 이것이 μ£Όμš” 버전 범프인 μ΄μœ μ΄κΈ°λ„ ν•©λ‹ˆλ‹€. μ‚¬λžŒλ“€μ΄ μ£Όμš” λ²„μ „μœΌλ‘œ μ—…κ·Έλ ˆμ΄λ“œν•˜κΈ° 전에 λ³€κ²½ 둜그λ₯Ό κ²€ν† ν•˜κΈ°λ₯Ό λ°”λžλ‹ˆλ‹€.

... λΉ„ν™œμ„±ν™”ν•  수 μ—†μŠ΅λ‹ˆλ‹€.

κ·Έ λ™μ•ˆμ—λ„ Raven 2.xλ₯Ό μ‹€ν–‰ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

@benvinegar 기꺼이 티켓을 μ—΄μ–΄μ£Όμ…”μ„œ κ°μ‚¬ν•©λ‹ˆλ‹€. μ’€ 더 쑰사해 λ³Ό κ°€μΉ˜κ°€ μžˆμ„ κ²ƒμž…λ‹ˆλ‹€. :)

해결책을 μ„œλ‘λ₯΄κΈ° 전에 더 λ§Žμ€ ν”Όλ“œλ°±μ„ μˆ˜μ§‘ν•˜κ³  μ‹ΆμŠ΅λ‹ˆλ‹€. 특히 3.0.xκ°€ μΆœμ‹œλœ 지 λͺ‡ μ£Ό λ˜μ—ˆκ³  μš°λ¦¬κ°€ 받은 λŒ€λΆ€λΆ„μ˜ ν”Όλ“œλ°±μ€ κΈμ •μ μ΄μ—ˆμŠ΅λ‹ˆλ‹€.

@benvinegar 이 λ¬Έμ œλŠ” μ‹¬κ°ν•œ 차단기가 μ•„λ‹™λ‹ˆλ‹€.

λ„€, 무엇보닀 당신이 κΆκΈˆν•΄ ν•˜λŠ” 것을 λŠκΌˆμŠ΅λ‹ˆλ‹€.

κ·Έ 말. raven.js ν΄λΌμ΄μ–ΈνŠΈλ₯Ό 쑰용히 μœ μ§€ν•˜λ©΄μ„œ λ©”μ‹œμ§€μ™€ 였λ₯˜κ°€ 개발 μ½˜μ†”λ‘œ μ „λ‹¬λ˜λ„λ‘ ν•˜λŠ” developmentMode ꡬ성 ν”Œλž˜κ·Έλ₯Ό λ„μž…ν•˜λŠ” 데 μ—¬μ „νžˆ μ•½κ°„μ˜ μ‚¬μš©μ΄ μžˆμ„ 수 μžˆμŠ΅λ‹ˆλ‹€(일λͺ… "μ „μ—­" 처리 λΉ„ν™œμ„±ν™”).. λ”°λΌμ„œ μ›ν•˜λŠ” 경우 λͺ…μ‹œμ μœΌλ‘œ κΉŒλ§ˆκ·€ APIλ₯Ό νŠΈλ¦¬κ±°ν•˜μ—¬ 였λ₯˜ λ³΄κ³ μ„œλ₯Ό μˆ˜λ™μœΌλ‘œ 보낼 수 μžˆμŠ΅λ‹ˆλ‹€.

λ„€, λ¬Έμ œλŠ” 디버깅을 μœ„ν•΄ ν”„λ‘œλ•μ…˜ ν™˜κ²½μ—μ„œλ„ μ½˜μ†” λͺ…령문을 μ›ν•œλ‹€λŠ” μ£Όμž₯이 μžˆλ‹€λŠ” κ²ƒμž…λ‹ˆλ‹€. κ·Έλƒ₯ μ„€μ • κ°€λŠ₯ν•˜κ²Œ ν•˜λŠ”κ²Œ λ‚«μŠ΅λ‹ˆλ‹€. 그리고, μš°λ¦¬λŠ” ν•  κ²ƒμž…λ‹ˆλ‹€. 더 λ§Žμ€ ν”Όλ“œλ°±μ„ λ°›κ³  μ‹Άκ³  영ν–₯을 λ¨Όμ € μΈ‘μ •ν•˜κ³  μ‹ΆμŠ΅λ‹ˆλ‹€.

μ–΄μ¨Œλ“  μ—¬κΈ° 두 λΆ„μ˜ μ˜κ²¬μ— κ°μ‚¬λ“œλ¦½λ‹ˆλ‹€.

@benvinegar : ꡬ성 μ˜΅μ…˜μ„ μœ„ν•œ πŸ‘ β€” μ›μΉ˜ μ•ŠλŠ” ν•­λͺ©μ„ μˆ˜λ™μœΌλ‘œ ν•„ν„°λ§ν•˜λŠ” 것이 μ΄μƒμ μž…λ‹ˆλ‹€(λ˜λŠ” 였히렀 κΈ°λŠ₯).

이것은 지원 좔적기에도 계속 λ‚˜νƒ€λ‚©λ‹ˆλ‹€. λΉ„ν™œμ„±ν™”ν•˜λŠ” 방법을 μΆ”κ°€ν•΄μ•Ό ν•œλ‹€κ³  μƒκ°ν•©λ‹ˆλ‹€.

이동 경둜 κΈ°λŠ₯을 선택 μ‚¬ν•­μœΌλ‘œ λ§Œλ“œμ‹­μ‹œμ˜€. μ½˜μ†” 방법을 λž˜ν•‘ν•˜λŠ” 것은 μœ„ν—˜ν•˜λ©° μ‹œλ„ν•˜λŠ” λ‹€λ₯Έ λ§Žμ€ 라이브러리 및 타사 μŠ€ν¬λ¦½νŠΈμ™€ μΆ©λŒν•˜κΈ° μ‰½μŠ΅λ‹ˆλ‹€.

3.5.0λΆ€ν„° μ½˜μ†” 이동 경둜의 μžλ™ μˆ˜μ§‘μ„ λΉ„ν™œμ„±ν™”ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

Raven.config('your dsn', {
  autoBreadcrumbs: {
    console: false
  }
});

λ˜λŠ” μžλ™ 이동 경둜 μˆ˜μ§‘μ„ μ™„μ „νžˆ λΉ„ν™œμ„±ν™”ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

Raven.config('your dsn', { autoBreadcrumbs: false });

이에 λŒ€ν•œ μžμ„Έν•œ λ‚΄μš©μ€ λ¬Έμ„œλ₯Ό μ°Έμ‘°ν•˜μ‹­μ‹œμ˜€ .

autoBreadcrumbs λŠ” typescript μ„ μ–Έ νŒŒμΌμ— μ—†μŠ΅λ‹ˆλ‹€. μ˜λ„μ μΈκ°€μš”?

https://github.com/getsentry/raven-js/blob/master/typescript/raven.d.ts

μš°λ¦¬λŠ” 졜근 TypeScript μ„ μ–ΈμœΌλ‘œ 어렀움을 κ²ͺκ³  μžˆμŠ΅λ‹ˆλ‹€. μ œμΆœμ„ ν™˜μ˜ν•©λ‹ˆλ‹€.

이 νŽ˜μ΄μ§€κ°€ 도움이 λ˜μ—ˆλ‚˜μš”?
0 / 5 - 0 λ“±κΈ‰