• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Handle wszystkich errrorów JS

VPS Starter Arubacloud
0 głosów
139 wizyt
pytanie zadane 19 sierpnia 2020 w JavaScript przez Greeenone Pasjonat (16,100 p.)

Hej,

Mam apkę napisaną w Vuejs i chciałbym łapać errory i warningi z console loga. Znalazłem coś takiego:

Vue.config.errorHandler = (err, vm, info) => {
 //
};

Kod ten działa ale nie łapie np.  errorów z methods. Chciałbym aby każdy error i warning był łapany.

Czy ktoś możne zna rozwiązanie na ten problem?
I jeszcze korzystając z okazji:
Lepiej użyć rollbara czy Senty?

komentarz 19 sierpnia 2020 przez ScriptyChris Mędrzec (190,190 p.)

Chodzi Ci o wrapowanie wszystkich metod console i żeby co z nimi zrobić?

komentarz 19 sierpnia 2020 przez Greeenone Pasjonat (16,100 p.)
Ogólnie to chodzi mi o przechwytywanie wszelkich błędów i ostrzeżeń. Normalnie apka nie posiada błędów i ostrzeżeń. Raz tam wyskoczył błąd gdy zrobiłem update profilu, odświeżyłem stronę i otworzyłem side panel (Wyskoczył błąd undefined). Teraz jako że z apki będzie korzystać 5 osób, to chciałbym obserwować czy nic się nie pojawia jak np. gdzieś zaległe tłumaczenie etc.

1 odpowiedź

0 głosów
odpowiedź 19 sierpnia 2020 przez ScriptyChris Mędrzec (190,190 p.)
wybrane 19 sierpnia 2020 przez Greeenone
 
Najlepsza

Jeśli szukasz rozwiązania, które pozwoli na wysyłanie logów z przeglądarki na serwer, to są gotowe serwisy, na przykład:

https://logrocket.com/for/javascript-error-logging/

https://www.loggly.com/

http://logio.org/

Możesz też zrobić podstawową wersję sam. Nadpisz metody obiektu console własną funkcją, która w razie wywołania wyśle ajaxa z parametrami wywołania, stack tracem, komunikatem błędu itd na Twój serwer. Ewentualnie użyj Proxy na obiekcie console z trapem na apply, żeby zrobić to w bardziej kompaktowej formie.

komentarz 19 sierpnia 2020 przez Greeenone Pasjonat (16,100 p.)
Dzięki za podesłanie serwisów. Wlaśnie korzystam z takiego serwisu (Rollbara) i wszystko działa bez zarzutu tylko no wlaśnie vue nie przesyła wszystkich errorów do niego i w tym jest problem. Jak nadpisać taką metodę? Nie chodzi mi o gotowca tylko nakierowanie jak mam szukać tego :)
komentarz 19 sierpnia 2020 przez ScriptyChris Mędrzec (190,190 p.)
const consoleLog = console.log.bind(console);
console.log = function() {
    // pseudo tablica arguments zawiera argumenty, z którymi została wywołana funkcja
    // wysłanie ajax do serwera z parametrami loga (m.in. wspomniane arguments)

    consoleLog(...arguments); // wywołaj oryginalny console.log z tymi samymi argumentami
};

Analogicznie dla pozostałych metod obiektu console (na upartego można w pętli).

Ważne, żeby zrobić to jako pierwszy skrypt - zanim załaduje się jakikolwiek inny skrypt na stronie (Twój lub framework/biblioteka).

komentarz 19 sierpnia 2020 przez Greeenone Pasjonat (16,100 p.)
Serdecznie dziękuje! :)

Podobne pytania

+1 głos
0 odpowiedzi 133 wizyt
pytanie zadane 1 maja 2016 w JavaScript przez jegor377 Stary wyjadacz (13,230 p.)
0 głosów
1 odpowiedź 266 wizyt
pytanie zadane 19 lutego 2018 w C i C++ przez Hiskiel Pasjonat (22,830 p.)
0 głosów
1 odpowiedź 276 wizyt
pytanie zadane 23 marca 2016 w C i C++ przez jegor377 Stary wyjadacz (13,230 p.)

92,453 zapytań

141,262 odpowiedzi

319,088 komentarzy

61,854 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...