W tym artykule wyjaśniono poniższą zawartość:
- Kiedy logować się do node.js?
- Gdzie odbywa się rejestrowanie?
- Jak zaimplementować logowanie w Node.js?
- Zaimplementuj logowanie w node.js przy użyciu metody „console.log()”.
- Zaimplementuj logowanie w node.js przy użyciu metody „console.warn()”.
- Zaimplementuj logowanie w node.js przy użyciu metody „console.error()”.
- Zaimplementuj logowanie w node.js przy użyciu metody „console.table()”.
- Zaimplementuj logowanie w node.js za pomocą „Modułu debugowania”.
- Zaimplementuj logowanie w node.js przy użyciu „pakietu Winston”.
Kiedy logować się do node.js?
Poniżej przedstawiono typowe poziomy rejestrowania w node.js:
- Informacje: Zadania lub wyniki potwierdzające usprawnione wykonanie kodu.
- Ostrzegać: Zdarzenia, które należy wziąć pod uwagę, aby uniknąć awarii.
- Błąd: Zdarzenia, które powodują niepowodzenie wykonania kodu.
- Odpluskwić: Poziom ten jest najczęściej wykorzystywany przez programistów.
Gdzie odbywa się rejestrowanie?
Zdarzenia dziennika można umieszczać w kolejce, a wielu słuchaczy może nasłuchiwać kolejki i zapisywać w dowolnym wymaganym dzienniku. Przed ostatecznym określeniem miejsca rejestrowania należy wiedzieć, że docelowa metodologia radzi sobie z wieloma komunikatami dziennika. Poniżej przedstawiono niektóre z typowych lokalizacji dzienników:
- standardowe wyjście
- stderr
- konsola
Jest tak, że podstawowe „ konsola.log() ' I ' konsola.info() ” metody logują się do „ standardowe wyjście ”. Jednakże ' konsola.warn() ' I ' konsola.błąd() ” metody logują się do „ stderr ”. Metody te wyświetlają dane wyjściowe na konsoli. Z przodu będzie to konsola narzędzi programisty.
Jak zaimplementować logowanie w Node.js?
Analiza potrzeby rejestrowania w różnych sytuacjach ma kluczowe znaczenie dla wdrożenia odpowiedniego podejścia do rejestrowania. Logowanie w node.js można wdrożyć za pomocą poniższych podejść:
- „ konsola.log() ' Metoda.
- „ konsola.warn() ' Metoda.
- „ konsola.błąd() ' Metoda.
- „ konsola.table() ' Metoda.
- Moduł debugowania.
- Pakiet Winstona.
Podejście 1: Zaimplementuj logowanie w node.js przy użyciu metody „console.log()”.
„ konsola.log() ” wyświetla wynik na konsoli i od czasu do czasu jest pomocna przy testowaniu funkcjonalności kodu.
Składnia
konsola. dziennik ( bałagan )
W tej składni „ bałagan ” odnosi się do wiadomości, która ma zostać zapisana na konsoli.
Teraz przejdź do podanego poniżej bloku kodu, który rejestruje dostarczone komunikaty na konsoli:
konsola. dziennik ( „To jest Linuxhint!” ) ;konsola. dziennik ( „To jest Węzeł js!” ) ;
Wyjście
Z tego wyniku można wnioskować, że określone komunikaty są prawidłowo wyświetlane na konsoli.
Podejście 2: Zaimplementuj logowanie w node.js przy użyciu metody „console.warn()”.
„ konsola.warn() ” wyświetla komunikat ostrzegawczy w konsoli.
Składnia
konsola. ostrzegać ( bałagan )W podanej składni „ bałagan ” wskazuje komunikat (również niestandardowy), który ma zostać wyświetlony na konsoli.
Teraz przejdź do następującej linii kodu, która wyświetla niestandardowy komunikat ostrzegawczy za pomocą „ konsola.warn() ' metoda:
konsola. ostrzegać ( „To jest ostrzeżenie!” ) ;Wyjście
Jak widać, określone ostrzeżenie niestandardowe jest wyświetlane prawidłowo.
Podejście 3: Zaimplementuj logowanie w node.js przy użyciu metody „console.error()”.
Ta metoda zapisuje komunikat o błędzie w konsoli.
Składnia
konsola. błąd ( [ dane ] [ , ... argumenty ] )W tej składni:
- „ dane ” odnosi się do wiadomości podstawowej.
- „ argumenty ” reprezentują wartości.
Wartość zwracana
Ta metoda pobiera komunikat o błędzie.
Omówienie następującego fragmentu kodu rejestrującego komunikat o błędzie w przypadku niespełnienia warunku:
X = 150 ;Jeśli ( X < 100 ) {
konsola. dziennik ( 'Dobrze iść' ) ;
}
w przeciwnym razie {
konsola. błąd ( „Niewłaściwy numer” ) ;
}
Według tego kodu:
- Zainicjuj liczbę całkowitą, która ma być analizowana pod kątem warunków.
- Następnie zastosuj „ Jeśli ” tak, że jeśli zainicjowana liczba całkowita jest mniejsza niż „100”, zostanie wyświetlony określony komunikat.
- W przeciwnym razie ' w przeciwnym razie ” wykonuje komunikat o błędzie w instrukcji „ konsola.błąd() ' metoda.
Wyjście
To wyjście potwierdza, że w przypadku niespełnienia warunku na konsoli zostanie wyświetlony odpowiedni komunikat o błędzie.
Podejście 4: Zaimplementuj logowanie w node.js przy użyciu metody „console.table()”.
Ta metoda tworzy i wyświetla tabelę na konsoli.
Składnia
konsola. tabela ( td, tc )Tutaj, ' td ” reprezentuje dane tabeli, a „ tc ” odnosi się do tablicy kolumn tabeli.
Teraz przejrzyj poniższą instrukcję kodu, która tworzy tabelę, przypisując dwukrotnie osobny indeks do przypisanych wartości typów danych wideo:
konsola. tabela ( [ { X : 10 , A : 'Złupić' } , { X : piętnaście , A : 'z' } ] ) ;Wyjście
Podejście 5: Zaimplementuj logowanie w node.js za pomocą „modułu debugowania”
Modułu tego można używać do rejestrowania dodatkowych informacji dotyczących statusu oprogramowania pośredniego sieci WWW, np. Express, Koa itp., gdy zaplecze otrzyma żądanie internetowe. Oprogramowanie pośredniczące jest umieszczane w potoku żądań.
Poniżej przedstawiono sposoby konfigurowania oprogramowania pośredniczącego do rejestrowania:
Przykład 1: Konfigurowanie oprogramowania pośredniczącego do rejestrowania z aplikacji
„ aplikacja.use() ” montuje docelową funkcję oprogramowania pośredniego w określonej ścieżce.
Składnia
aplikacja. używać ( pkt., cb )W podanej powyżej składni:
- „ pkt ” odnosi się do ścieżki, dla której ma zostać wywołana funkcja oprogramowania pośredniego.
- „ cb ” odpowiada funkcjom oprogramowania pośredniego.
Poniżej znajduje się demonstracja kodu konfigurującego oprogramowanie pośredniczące do rejestrowania za pośrednictwem aplikacji i omawianej metody:
konst aplikacja = wyrazić ( )konst logMiddleware = wymagać ( „moje-logging-middleware” )
aplikacja. używać ( logMiddleware )
W tym kodzie utwórz aplikację Express i dołącz „ moje-logging-middleware ”, aby rozpocząć pracę z oprogramowaniem pośredniczącym do rejestrowania. Na koniec zastosuj „ aplikacja.use() ”, aby zamontować docelową funkcję oprogramowania pośredniego w określonej ścieżce.
Przykład 2: Konfigurowanie oprogramowania pośredniczącego do rejestrowania z aplikacji za pośrednictwem routera
„ router.use() ” montuje oprogramowanie pośredniczące dla tras obsługiwanych przez router docelowy.
Składnia
routera. używać ( dla, func )W tej składni:
- „ pkt ” odnosi się do ścieżki oprogramowania pośredniego.
- „ funk ” odpowiada funkcji przekazanej jako wywołanie zwrotne.
Poniższy przykład konfiguruje oprogramowanie pośredniczące do rejestrowania za pomocą obiektu routera i „ router.use() funkcja:
konst routera = wyrazić. Routera ( )konst rtLoggingMiddleware = wymagać ( „oprogramowanie pośredniczące do rejestrowania mojej trasy” )
routera. używać ( rtLoggingMiddleware )
W tym kodzie:
- „ ekspresowy.Router() ” tworzy nowy obiekt routera.
- Następnie dołącz „ oprogramowanie pośredniczące do rejestrowania mojej trasy ” i podobnie skorzystaj z „ router.use() ” do montowania oprogramowania pośredniczącego dla tras obsługiwanych przez router docelowy.
Podejście 6: Zaimplementuj logowanie w node.js przy użyciu „pakietu Winston”
Ten konkretny pakiet obejmuje opcje przechowywania, wiele poziomów dziennika, zapytania i profiler. Poniżej znajduje się demonstracja kodu, który implementuje rejestrowanie za pomocą tego podejścia:
konst X = wyrazić ( )konst włączać = wymagać ( „winston” )
konst konsolaTransport = nowy włączać. transporty . Konsola ( )
konst decyduje się = {
transporty : [ konsolaTransport ]
}
konst rejestrator = nowy włączać. utwórzLogger ( decyduje się )
żądanie wyświetlenia funkcji ( req, res, następny ) {
rejestrator. informacje ( wymaganie adres URL )
Następny ( )
}
X. używać ( żądanie wyświetlenia )
wyświetlanie funkcjiBłąd ( err, req, res, następny ) {
rejestrator. błąd ( błądzić )
Następny ( )
}
X. używać ( błąd wyświetlania )
W tym kodzie:
- Można skonfigurować wiele transportów za pomocą filtrowania i ustawić niestandardowe formatery.
- Ponadto w różnych funkcjach określono wiele instancji rejestratora, np. „ logger.info() ' I ' logger.error() ”.
- Rejestratory te wyświetlają odpowiednio informacje i komunikaty o błędach.
- W tym kodzie rejestrowany jest tylko żądany adres URL.
Rejestratory pobierają poniższe parametry:
Nazwa | Domyślny | Opis |
format | Winston.format.json | Formatuje wiadomości informacyjne |
cichy | FAŁSZ | Jeśli ma wartość true, wszystkie dzienniki zostaną zawieszone. |
wyjścieOnError | PRAWDA | Jeśli ma wartość false, skopiowane wyjątki nie powodują procesu.exit |
poziomy | Winston.config.npm.levels | Poziomy odnoszą się do priorytetów logów. |
Wniosek
Logowanie do node.js można wdrożyć poprzez „ konsola.log() ”, metoda „ konsola.warn() ”, metoda „ konsola.błąd() ”, metoda „ konsola.table() ”, metoda „ Moduł debugowania ”lub za pośrednictwem „ Pakiet Winstona ”. Metody konsoli wyświetlają informacje i komunikaty o błędach. Moduł debugowania rejestruje dodatkowe informacje o stanie oprogramowania pośredniego sieci Web, a pakiet Winston zawiera opcje przechowywania i różne poziomy rejestrowania.