So implementieren Sie die Protokollierung in Node.js

So Implementieren Sie Die Protokollierung In Node Js



Protokollierung „in node.js spielt eine entscheidende Rolle bei der Aufrechterhaltung des gesamten Lebenszyklus des Website-Entwicklungsprozesses. Daher ist die Protokollierung die häufigste Funktion, die von den Entwicklern durchgeführt wird, um von Zeit zu Zeit die Codefunktionen zu analysieren, die Daten zu analysieren und Fehler basierend auf der Codeanalyse zu codieren und zu beheben.

In diesem Artikel werden die unten aufgeführten Inhalte erläutert:

Wann muss ich mich bei node.js anmelden?

Im Folgenden sind die allgemeinen Protokollierungsstufen in node.js aufgeführt:







  • Die Info: Die Aufgaben oder Ausgaben, die die optimierte Codeausführung bestätigen.
  • Warnen: Die Ereignisse, die berücksichtigt werden müssen, um Ausfälle zu vermeiden.
  • Fehler: Die Ereignisse, die dazu führen, dass die Codeausführung fehlschlägt.
  • Debuggen: Diese Ebene wird hauptsächlich von den Entwicklern genutzt.

Wo erfolgt die Protokollierung?

Protokollereignisse können in eine Warteschlange gestellt werden und mehrere Listener können die Warteschlange abhören und in jedes erforderliche Protokoll schreiben. Bevor Sie festlegen, wo protokolliert werden soll, sollten Sie wissen, dass die Zielmethode mehrere Protokollmeldungen verarbeiten kann. Im Folgenden sind einige der häufigsten Protokollspeicherorte aufgeführt:



  • stdout
  • stderr
  • Konsole

Es ist so, dass die grundlegende „ console.log() ' Und ' console.info() ” Methoden protokollieren zu „ stdout “. Allerdings ist die „ console.warn() ' Und ' console.error() ” Methoden protokollieren zu „ stderr “. Diese Methoden zeigen die Ausgabe auf der Konsole an. Im Frontend wird dies die Toolkonsole des Programmierers sein.



Wie implementiert man die Protokollierung in Node.js?

Die Analyse des Protokollierungsbedarfs in verschiedenen Situationen ist für die Implementierung des entsprechenden Protokollierungsansatzes von entscheidender Bedeutung. Die Protokollierung in node.js kann über die unten aufgeführten Ansätze implementiert werden:





  • console.log() ' Methode.
  • console.warn() ' Methode.
  • console.error() ' Methode.
  • console.table() ' Methode.
  • Debug-Modul.
  • Winston-Paket.

Ansatz 1: Implementieren Sie die Protokollierung in node.js mit der Methode „console.log()“.

Der ' console.log() Die Methode zeigt die Ausgabe auf der Konsole an und ist hilfreich, um die Codefunktionen von Zeit zu Zeit zu testen.

Syntax



Konsole. Protokoll ( Durcheinander )

In dieser Syntax: „ Durcheinander „bezieht sich auf die Nachricht, die an die Konsole geschrieben werden soll.

Fahren Sie nun mit dem unten angegebenen Codeblock fort, der die bereitgestellten Meldungen auf der Konsole protokolliert:

Konsole. Protokoll ( „Das ist Linuxhint!“ ) ;

Konsole. Protokoll ( „Das ist Node js!“ ) ;

Ausgabe

Aus diesem Ergebnis kann geschlossen werden, dass die angegebenen Meldungen ordnungsgemäß auf der Konsole angezeigt werden.

Ansatz 2: Implementieren Sie die Protokollierung in node.js mithilfe der Methode „console.warn()“.

Der ' console.warn() Die Methode zeigt eine Warnmeldung an der Konsole an.

Syntax

Konsole. warnen ( Durcheinander )

In der angegebenen Syntax lautet „ Durcheinander „gibt die Nachricht (auch benutzerdefiniert) an, die auf der Konsole angezeigt werden soll.

Gehen Sie nun zur folgenden Codezeile, die mithilfe des „“ eine benutzerdefinierte Warnmeldung anzeigt. console.warn() ' Methode:

Konsole. warnen ( „Das ist eine Warnung!“ ) ;

Ausgabe

Wie Sie sehen, wird die angegebene benutzerdefinierte Warnung ordnungsgemäß angezeigt.

Ansatz 3: Implementieren Sie die Protokollierung in node.js mit der Methode „console.error()“.

Diese Methode schreibt eine Fehlermeldung an die Konsole.

Syntax

Konsole. Fehler ( [ Daten ] [ , ... Argumente ] )

In dieser Syntax:

  • Daten „bezieht sich auf die primäre Nachricht.
  • Argumente ” repräsentieren die Werte.

Rückgabewert

Diese Methode ruft eine Fehlermeldung ab.

Überblick über den folgenden Codeausschnitt, der eine Fehlermeldung protokolliert, wenn die Bedingung nicht erfüllt ist:

X = 150 ;
Wenn ( X < 100 ) {
Konsole. Protokoll ( „Gut zu gehen“ ) ;
}
anders {
Konsole. Fehler ( „Unangemessene Nummer“ ) ;
}

Nach diesem Code:

  • Initialisieren Sie eine Ganzzahl, die auf die Bedingungen hin analysiert werden soll.
  • Wenden Sie danach das „ Wenn ”-Anweisung, sodass die angegebene Meldung angezeigt wird, wenn die initialisierte Ganzzahl kleiner als „100“ ist.
  • Ansonsten der ' anders ”-Anweisung führt die Fehlermeldung in der „ console.error() ' Methode.

Ausgabe

Diese Ausgabe bestätigt, dass bei Nichterfüllung der Bedingung die benutzerdefinierte Fehlermeldung entsprechend auf der Konsole angezeigt wird.

Ansatz 4: Implementieren Sie die Protokollierung in node.js mithilfe der Methode „console.table()“.

Diese Methode erstellt eine Tabelle und zeigt sie auf der Konsole an.

Syntax

Konsole. Tisch ( td, tc )

Hier, ' td „ stellt die Tabellendaten dar und „ tc „bezieht sich auf das Array der Tabellenspalten.

Gehen Sie nun die folgende Codeanweisung durch, die eine Tabelle erstellt, indem den zugewiesenen Werten der Videodatentypen zweimal ein separater Index zugewiesen wird:

Konsole. Tisch ( [ { X : 10 , A : „Harry“ } , { X : fünfzehn , A : 'Mit' } ] ) ;

Ausgabe

Ansatz 5: Implementieren Sie die Protokollierung in node.js mithilfe des „Debug-Moduls“

Dieses Modul kann verwendet werden, um zusätzliche Informationen zum Status der Web-Middleware, d. h. Express, Koa usw., zu protokollieren, wenn das Back-End eine Internetanfrage erhält. Middleware wird in die Anforderungspipeline eingefügt.

Im Folgenden sind die Ansätze zum Einrichten der Protokollierungs-Middleware aufgeführt:

Beispiel 1: Einrichten der Protokollierungs-Middleware aus der Anwendung

Der ' app.use() Die Funktion mountet die Ziel-Middleware-Funktion im angegebenen Pfad.

Syntax

App. verwenden ( pt, cb )

In der oben angegebenen Syntax:

  • pt „bezieht sich auf den Pfad, für den die Middleware-Funktion aufgerufen werden soll.
  • cb „entspricht der/den Middleware-Funktion(en).

Im Folgenden finden Sie die Codedemonstration, die die Protokollierungs-Middleware über eine Anwendung und die besprochene Methode einrichtet:

const App = äußern ( )

const logMiddleware = erfordern ( 'meine-logging-middleware' )

App. verwenden ( logMiddleware )

Erstellen Sie in diesem Code eine Express-Anwendung und fügen Sie „ meine-logging-middleware ” um mit der Protokollierungs-Middleware zu arbeiten. Wenden Sie abschließend das „ app.use() ”-Funktion zum Mounten der Ziel-Middleware-Funktion im angegebenen Pfad.

Beispiel 2: Einrichten der Protokollierungs-Middleware von der Anwendung über den Router

Der ' router.use() Die Funktion stellt Middleware für die Routen bereit, die über den Zielrouter bereitgestellt werden.

Syntax

Router. verwenden ( für, func )

In dieser Syntax:

  • pt „bezieht sich auf den Middleware-Pfad.
  • Funktion „entspricht der als Callback übergebenen Funktion.

Das folgende Beispiel richtet die Protokollierungs-Middleware mit Hilfe des Router-Objekts und der „ router.use() ” Funktion:

const Router = äußern. Router ( )

const rtLoggingMiddleware = erfordern ( 'my-route-logging-middleware' )

Router. verwenden ( rtLoggingMiddleware )

In diesem Code:

  • Der ' express.Router() Die Funktion erstellt ein neues Router-Objekt.
  • Fügen Sie danach „ meine-route-logging-middleware “ und nutzen Sie ebenfalls die „ router.use() ”-Funktion zum Mounten von Middleware für die vom Zielrouter bereitgestellten Routen.

Ansatz 6: Implementieren Sie die Protokollierung in node.js mithilfe des „Winston-Pakets“

Dieses spezielle Paket umfasst Speicheroptionen, mehrere Protokollebenen, Abfragen und einen Profiler. Im Folgenden finden Sie die Codedemonstration, die die Protokollierung über diesen Ansatz implementiert:

const X = äußern ( )
const enthalten = erfordern ( 'Winston' )
const consoleTransport = neu enthalten. Transporte . Konsole ( )
const optiert = {
Transporte : [ consoleTransport ]
}
const Logger = neu enthalten. createLogger ( optiert )
Funktion displayRequest ( req, res, weiter ) {
Logger. die Info ( erf. URL )
nächste ( )
}
X. verwenden ( displayRequest )
Funktion displayError ( ähm, req, res, weiter ) {
Logger. Fehler ( irren )
nächste ( )
}
X. verwenden ( Anzeigefehler )

In diesem Code:

  • Es können mehrere Transporte mit Filterung eingerichtet und benutzerdefinierte Formatierer festgelegt werden.
  • Außerdem werden mehrere Logger-Instanzen in verschiedenen Funktionen angegeben, z. B. „ logger.info() ' Und ' logger.error() “.
  • Diese Logger zeigen die Informationen bzw. Fehlermeldungen an.
  • In diesem Code wird nur die angeforderte URL protokolliert.

Die unten angegebenen Parameter werden von den Loggern verwendet:

Name Standard Beschreibung
Format Winston.format.json Formatiert die Infonachrichten
still FALSCH Wenn „true“, werden alle Protokolle angehalten.
ExitOnError WAHR Bei „false“ führen die behandelten Ausnahmen nicht zu „process.exit“.
Ebenen Winston.config.npm.levels Die Ebenen beziehen sich auf die Protokollprioritäten.

Abschluss

Die Protokollierung in node.js kann über den „ console.log() ” Methode, die „ console.warn() ” Methode, die „ console.error() ” Methode, die „ console.table() ” Methode, die „ Debug-Modul “, oder über die „ Winston-Paket “. Die Konsolenmethoden zeigen die Informationen und Fehlermeldungen an. Das Debug-Modul protokolliert zusätzliche Informationen über den Status der Web-Middleware und das Winston-Paket enthält die Speicheroptionen und verschiedene Protokollebenen.