Jak zaimplementować logowanie w Node.js

Jak Zaimplementowac Logowanie W Node Js



Logowanie ” w node.js odgrywa kluczową rolę w utrzymaniu całego cyklu życia procedury tworzenia serwisu. Dzieje się tak dlatego, że rejestrowanie jest najczęstszą funkcją wykonywaną przez programistów w celu od czasu do czasu analizy funkcjonalności kodu w celu analizy danych oraz kodowania i rozwiązywania błędów w oparciu o analizę kodu.

W tym artykule wyjaśniono poniższą zawartość:

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.