λλ μ΅κ·Όμ ravenμ΄ μ΄μ λͺ¨λ μ½μ λ©μλλ₯Ό λ§λ¬΄λ¦¬νλ€λ κ²μ μμμ§λ§ κ·Έ μ΄μ λ₯Ό μ€λͺ νλ λ¬Έμλ 보μ΄μ§ μμ΅λκΉ? λλ μ΄λ»κ² μ μ©ν μ μμ΅λκΉ? μ무λ μ΄κ²μ μμ§ μ νμ§ λͺ»νμΌλ©° μ¬μ©μ λν λ¬Έμλ₯Ό μλ €μ€ μ μμ΅λκΉ?
λ΄κ° κ²ͺμ λ¬Έμ λ λ μ΄μ console.log() λ₯Ό μ¬μ©νμ¬ κ°λ¨ν λλ²κΉ μ μνν μ μλ€λ κ²μ λλ€. μμ€κ° raven.jsκ° λκ³ λ μ΄μ λ΄ μ½λμ μ΄λμμ λ°μνλμ§ μΆμ ν μ μμ΅λκΉ?
@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 μ μΈμΌλ‘ μ΄λ €μμ κ²ͺκ³ μμ΅λλ€. μ μΆμ νμν©λλ€.
κ°μ₯ μ μ©ν λκΈ
3.5.0λΆν° μ½μ μ΄λ κ²½λ‘μ μλ μμ§μ λΉνμ±νν μ μμ΅λλ€.
λλ μλ μ΄λ κ²½λ‘ μμ§μ μμ ν λΉνμ±νν μ μμ΅λλ€.
μ΄μ λν μμΈν λ΄μ©μ λ¬Έμλ₯Ό μ°Έμ‘°νμμμ€ .