Hur man implementerar inloggning i Node.js

Hur Man Implementerar Inloggning I Node Js



' Skogsavverkning ” i node.js spelar en viktig roll för att upprätthålla hela livscykeln för webbutvecklingsproceduren. Det är så att loggning är den vanligaste funktionaliteten som utförs av utvecklarna för att då och då analysera kodfunktionaliteterna för att analysera data, samt koda och lösa felen baserat på kodanalysen.

Den här texten förklarar innehållet nedan:

När ska man logga in node.js?

Följande är de vanliga loggningsnivåerna i node.js:







  • Info: De uppgifter eller utgångar som bekräftar den strömlinjeformade kodexekveringen.
  • Varna: De händelser som måste beaktas för att undvika misslyckanden.
  • Fel: Händelserna som leder till att koden misslyckas.
  • Felsökning: Denna nivå används mestadels av utvecklarna.

Var sker inloggningen?

Logghändelser kan köas och flera lyssnare kan lyssna på kön och skriva till vilken logg som helst som krävs. Innan man slutför var man ska logga, bör det vara känt att målmetoden kan hantera flera loggmeddelanden. Följande är några av de vanliga loggplatserna:



  • stdout
  • stderr
  • trösta

Det är sådant att de grundläggande ' console.log() ' och ' console.info() ' metoder loggar till ' stdout ”. Men den ' console.warn() ' och ' console.error() ' metoder loggar till ' stderr ”. Dessa metoder visar utdata på konsolen. I fronten kommer detta att vara programmerarens verktygskonsol.



Hur implementerar man inloggning i Node.js?

Att analysera behovet av loggning i olika situationer är avgörande för att implementera motsvarande loggningsmetod. Inloggningen i node.js kan implementeras via nedan angivna metoder:





  • ' console.log() ” Metod.
  • ' console.warn() ” Metod.
  • ' console.error() ” Metod.
  • ' konsol bord() ” Metod.
  • Felsökningsmodul.
  • Winston-paket.

Tillvägagångssätt 1: Implementera inloggning node.js med metoden 'console.log()'.

den ' console.log() ”-metoden visar utdata på konsolen och är till hjälp för att testa kodfunktionerna då och då.

Syntax



trösta. logga ( röra )

I den här syntaxen ' röra ” hänvisar till meddelandet som ska skrivas till konsolen.

Fortsätt nu till nedanstående kodblock som loggar de tillhandahållna meddelandena på konsolen:

trösta. logga ( 'Detta är Linuxhint!' ) ;

trösta. logga ( 'Detta är Node js!' ) ;

Produktion

Av detta resultat kan det antydas att de angivna meddelandena visas på konsolen på lämpligt sätt.

Tillvägagångssätt 2: Implementera inloggning node.js med metoden 'console.warn()'.

den ' console.warn() ”-metoden visar ett varningsmeddelande till konsolen.

Syntax

trösta. varna ( röra )

I den givna syntaxen ' röra ” indikerar meddelandet (även anpassat) som ska visas på konsolen.

Gå nu till följande kodrad som visar ett anpassat varningsmeddelande med hjälp av ' console.warn() ' metod:

trösta. varna ( 'Detta är en varning!' ) ;

Produktion

Som sett visas den angivna anpassade varningen på lämpligt sätt.

Tillvägagångssätt 3: Implementera inloggning node.js med metoden 'console.error()'.

Denna metod skriver ett felmeddelande till konsolen.

Syntax

trösta. fel ( [ data ] [ , ... argument ] )

I denna syntax:

  • ' data ” hänvisar till det primära meddelandet.
  • ' argument ” representerar värdena.

Returvärde

Denna metod hämtar ett felmeddelande.

Översikt över följande kodavsnitt som loggar ett felmeddelande om det ouppfyllda villkoret:

x = 150 ;
om ( x < 100 ) {
trösta. logga ( 'Klar för avfärd' ) ;
}
annan {
trösta. fel ( 'Olämpligt nummer' ) ;
}

Enligt denna kod:

  • Initiera ett heltal som ska analyseras för förhållandena.
  • Efter det, använd ' om ”-sats så att om det initierade heltal är mindre än ”100”, visas det angivna meddelandet.
  • Annars är ' annan ”-satsen kör felmeddelandet i ” console.error() 'metoden.

Produktion

Denna utdata bekräftar att vid otillfredsställande tillstånd visas det anpassade felmeddelandet på konsolen i enlighet därmed.

Tillvägagångssätt 4: Implementera inloggning node.js med metoden 'console.table()'.

Denna metod skapar och visar en tabell på konsolen.

Syntax

trösta. tabell ( td, tc )

Här, ' td ” representerar tabelldata och ” tc ” hänvisar till uppsättningen av tabellkolumner.

Gå nu igenom kodsatsen nedan som skapar en tabell genom att tilldela ett separat index till de tilldelade värdena för videodatatyper två gånger:

trösta. tabell ( [ { x : 10 , a : 'Harry' } , { x : femton , a : 'Med' } ] ) ;

Produktion

Tillvägagångssätt 5: Implementera inloggning node.js med 'Debug Module'

Denna modul kan användas för att logga extra information om statusen för webbmellanvaran, dvs Express, Koa, etc när back-end får en internetförfrågan. Middleware läggs in i begäran pipeline.

Följande är metoderna för att ställa in loggningsmellanvaran:

Exempel 1: Konfigurera loggningsmellanvara från applikationen

den ' app.use() ”-funktionen monterar målmellanvarufunktionen på den angivna sökvägen.

Syntax

app. använda sig av ( pt, cb )

I ovan givna syntax:

  • ' pt ” hänvisar till sökvägen för vilken middleware-funktionen ska anropas.
  • ' cb ” motsvarar mellanvarufunktion(erna).

Följande är koddemonstrationen som ställer in loggningsmellanvaran via en applikation och den diskuterade metoden:

konst app = uttrycka ( )

konst logMiddleware = behöva ( 'min-loggnings-mellanvara' )

app. använda sig av ( logMiddleware )

Skapa en Express-applikation i den här koden och inkludera ' mitt-loggnings-mellanprogram ” för att börja arbeta med loggningsmellanvaran. Till sist, använd ' app.use() ”-funktion för att montera mål-mellanprogramfunktionen på den angivna sökvägen.

Exempel 2: Konfigurera loggningsmellanvara från applikation via router

den ' router.use() ”-funktionen monterar mellanprogram för de rutter som serveras via målroutern.

Syntax

router. använda sig av ( för, func )

I denna syntax:

  • ' pt ” hänvisar till mellanprogramsvägen.
  • ' func ” motsvarar den funktion som skickades som återuppringning.

Exemplet nedan ställer in loggningsmellanvaran med hjälp av routerobjektet och ' router.use() ' funktion:

konst router = uttrycka. Router ( )

konst rtLoggingMiddleware = behöva ( 'my-route-logging-middleware' )

router. använda sig av ( rtLoggingMiddleware )

I denna kod:

  • den ' express.Router() ”-funktionen skapar ett nytt routerobjekt.
  • Efter det, inkludera ' my-route-logging-middleware ' och likaså använd ' router.use() ”-funktion för att montera mellanprogram för de rutter som serveras av målroutern.

Tillvägagångssätt 6: Implementera inloggning node.js med 'Winston-paketet'

Det här speciella paketet innehåller lagringsalternativ, flera loggnivåer, frågor och en profilerare. Följande är koddemonstrationen som implementerar loggning via detta tillvägagångssätt:

konst x = uttrycka ( )
konst omfatta = behöva ( 'winston' )
konst consoleTransport = ny omfatta. transporter . Trösta ( )
konst väljer = {
transporter : [ consoleTransport ]
}
konst logger = ny omfatta. skapa Logger ( väljer )
funktion displayRequest ( req, res, nästa ) {
logger. info ( req. url )
Nästa ( )
}
x. använda sig av ( displayRequest )
funktion displayError ( err, req, res, nästa ) {
logger. fel ( fela )
Nästa ( )
}
x. använda sig av ( displayError )

I denna kod:

  • Flera transporter kan ställas in med filtrering och anpassade formaterare kan ställas in.
  • Dessutom specificeras flera loggerinstanser i olika funktioner, dvs. logger.info() ' och ' logger.error() ”.
  • Dessa loggare visar informationen respektive felmeddelanden.
  • I den här koden loggas endast den begärda webbadressen.

Nedan givna parametrar tas av loggrarna:

namn Standard Beskrivning
formatera Winston.format.json Formaterar informationsmeddelandena
tyst Falsk Om det är sant avbryts alla loggar.
exitOnError Sann Om det är falskt, orsakar de klarade undantagen inte process.exit
nivåer Winston.config.npm.levels Nivåerna hänvisar till loggprioriteringarna.

Slutsats

Inloggningen i node.js kan implementeras via ' console.log() 'metoden, ' console.warn() 'metoden, ' console.error() 'metoden, ' konsol bord() 'metoden, ' Felsökningsmodul ', eller via ' Winston-paket ”. Konsolmetoderna visar informationen och felmeddelanden. Debug-modulen loggar extra information om statusen för webbmellanvaran och Winston-paketet innehåller lagringsalternativ och olika loggnivåer.