Sentry-javascript: Apa masalahnya dengan wrapConsoleMethod() ?

Dibuat pada 17 Mei 2016  ·  15Komentar  ·  Sumber: getsentry/sentry-javascript

Saya perhatikan baru-baru ini bahwa raven sekarang menyelesaikan semua metode konsol, tetapi saya tidak melihat dokumentasi yang menjelaskan alasannya? atau bagaimana mungkin bisa berguna? Adakah yang pernah menemukan ini dan dapat mengarahkan saya ke beberapa dokumentasi tentang penggunaannya?

masalah yang saya temui adalah saya tidak bisa lagi melakukan debugging sederhana dengan console.log() .. sumbernya menjadi raven.js dan saya tidak bisa lagi melacak dari mana kode saya berasal?

Awalnya diposting di repo dokumen, lalu ditutup

Komentar yang paling membantu

Mulai 3.5.0 Anda dapat menonaktifkan pengumpulan otomatis remah roti konsol:

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

Atau Anda dapat menonaktifkan pengumpulan remah roti otomatis sepenuhnya:

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

Lebih lanjut tentang ini di dokumen .

Semua 15 komentar

@grapho – pernyataan konsol dikumpulkan dan diteruskan sebagai remah roti .

Saya dapat melihat bagaimana menjengkelkan bahwa, sebagai akibat dari instrumentasi console.log , URL di devtools tidak akan lagi membawa Anda ke pernyataan log asli di sumber Anda. Kita bisa membuat instrumenting console.log opsional. Atau sebagai alternatif, perkenalkan Raven.log sebagai API alternatif untuk merekam remah roti Anda sendiri.

@benvinegar Saya berjanji saya tidak kesal ... jika ada cara saya dapat menggunakan remah roti atau api yang setara dalam pengaturan pengembangan .. tempat console.log, saya ingin tahu caranya?

saya bisa terbiasa menempatkan breakpoints dan debugger statments sebagai gantinya .. apakah itu pekerjaan yang disukai?

Saya kira saya jarang benar-benar menggunakan tautan ke pernyataan konsol dan bahkan tidak menyadarinya telah hilang :) Saya pribadi sering menggunakan debugger Chrome.

jika ada cara saya bisa menggunakan remah roti atau api yang setara dalam pengaturan pengembangan

Anda dapat menggunakan Raven.captureBreadcrumb hari ini jika Anda hanya ingin mengatur remah roti. API belum benar-benar disempurnakan. Ini masih fitur baru dan kami masih mencoba mencari tahu beberapa hal.

Jika ini bukan pemblokiran yang serius, saya ingin membiarkan masalah ini terbuka sebentar dan melihat apakah kami mendapatkan umpan balik lagi.

Saya pikir ini adalah masalah besar, terutama karena tidak didokumentasikan di mana pun dan tidak dapat dinonaktifkan.
Mungkin ada banyak sekali console.log yang tidak ingin kami kirimkan ke Sentry.

Terserah pengembang untuk memilih apa yang akan dikirim dan kapan

Satu hal lagi yang tidak saya sebutkan, ada beberapa kerangka kerja JS seperti Ember.js, cenderung menghapus metode console() dari build produksi. Hanya makanan untuk dipertimbangkan.

komentar di atas tampaknya salah, maaf.

@benvinegar Saya menghargai Anda bersedia untuk tetap membuka tiket, mungkin perlu diselidiki lebih lanjut :)

@benvinegar masalah ini sama sekali bukan pemblokir serius.

Inilah solusi saya saat ini. Saya menyadari bahwa saya hanya dapat _not_ menginisialisasi klien raven.js ketika dalam mode pengembangan... pelaporan raven/penjaga, hanya sangat berguna bagi kebanyakan orang (saya bayangkan) dalam aplikasi produksi.

Yang telah dibilang. mungkin masih ada beberapa kegunaan dalam memperkenalkan mungkin flag konfigurasi developmentMode , yang akan memungkinkan pesan dan kesalahan untuk melewati konsol dev (alias menonaktifkan beberapa penanganan "global") .. sambil menjaga gagak. Klien js diam di latar belakang, jadi kami masih bisa mengirim laporan kesalahan secara manual, dengan secara eksplisit memicu raven apis, jika kami mau.

Beri tahu saya bagaimana perasaan Anda tentang itu. Kalau tidak, saya tidak akan terlalu mengkhawatirkannya, karena masalah ini sebagian besar disebabkan oleh pengalaman saya dengan gagak dan bagaimana/kapan menggunakannya.

Mungkin ada banyak sekali console.log yang tidak ingin kami kirimkan ke Sentry.

Pembicaraan nyata – apakah Anda benar-benar ingin menonaktifkan ini? Saya tidak mencoba terdengar pasif agresif di sini, saya hanya ingin tahu apakah ini masalah serius saat ini dan Anda ingin menonaktifkannya.

Saya pikir ini adalah masalah besar, terutama karena tidak didokumentasikan di mana pun dan

Itu didokumentasikan dalam changelog Raven.js . Kami juga menerbitkan posting blog yang mengumumkan remah roti yang menyebutkan bahwa pernyataan console.log sekarang telah dicatat, dan posting ini disiarkan dalam aplikasi ke semua pengguna Sentry yang dihosting. Maaf kami tidak berhasil menghubungi Anda, tetapi saya rasa upaya tulus telah dilakukan untuk mengomunikasikan hal ini.

Perhatikan juga bahwa inilah mengapa Raven.js 3.0.x adalah versi utama bump, karena memperkenalkan perubahan yang berpotensi melanggar. Saya harap orang-orang meninjau changelog sebelum memutakhirkan ke versi utama.

... tidak dapat dinonaktifkan.

Sementara itu, Anda masih dapat menjalankan Raven 2.x.

@benvinegar Saya menghargai Anda bersedia untuk tetap membuka tiket, mungkin perlu diselidiki lebih lanjut :)

Saya ingin mengumpulkan lebih banyak umpan balik sebelum bergegas ke solusi. Terutama sejak 3.0.x telah aktif selama beberapa minggu dan sebagian besar umpan balik yang kami dapatkan adalah positif.

@benvinegar masalah ini sama sekali bukan pemblokir serius.

Yeah, aku punya firasat kau penasaran lebih dari apapun.

Yang telah dibilang. mungkin masih ada gunanya memperkenalkan mungkin flag konfigurasi developmentMode, yang akan memungkinkan pesan dan kesalahan melewati konsol dev (alias menonaktifkan beberapa penanganan "global").. sambil menjaga klien raven.js tetap diam di latar belakang, jadi kami masih bisa mengirim laporan kesalahan secara manual, dengan secara eksplisit memicu raven apis, jika kami mau.

Ya, masalahnya adalah ada argumen untuk menginginkan pernyataan konsol dalam produksi untuk debugging juga. Saya lebih suka membuatnya dapat dikonfigurasi. Dan kita akan. Saya hanya ingin mendapatkan lebih banyak umpan balik / mengukur dampak terlebih dahulu.

Anwyays, hargai komentar kalian berdua di sini, kok.

@benvinegar : 👍 untuk opsi konfigurasi — idealnya memungkinkan untuk menyaring entri yang tidak diinginkan dengan tangan (atau lebih tepatnya fungsi)

Ini terus muncul di pelacak dukungan juga. Saya pikir kita harus menambahkan metode untuk menonaktifkannya.

Harap jadikan fitur remah roti opsional, metode konsol pembungkus berisiko dan rentan terhadap konflik dengan banyak lib lain dan skrip pihak ke-3 yang juga mencoba melakukannya.

Mulai 3.5.0 Anda dapat menonaktifkan pengumpulan otomatis remah roti konsol:

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

Atau Anda dapat menonaktifkan pengumpulan remah roti otomatis sepenuhnya:

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

Lebih lanjut tentang ini di dokumen .

autoBreadcrumbs tidak ada di file deklarasi TypeScript. Apakah itu disengaja?

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

Kami telah berjuang dengan deklarasi TypeScript akhir-akhir ini. Kiriman selamat datang.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat