Logimise juurutamine Node.js-is

Logimise Juurutamine Node Js Is



Logimine ” failis node.js mängib olulist rolli veebisaidi arendusprotseduuri kogu elutsükli säilitamisel. See on selline, et logimine on kõige levinum funktsioon, mida arendajad kasutavad aeg-ajalt koodi funktsionaalsuste analüüsimiseks, et andmeid analüüsida ning koodianalüüsi põhjal vigade kodeerimiseks ja lahendamiseks.

See kirjutis selgitab allpool loetletud sisu:

Millal node.js-i sisse logida?

Järgmised on tavalised logimistasemed failis node.js.







  • Info: Ülesanded või väljundid, mis kinnitavad koodi sujuvat täitmist.
  • Hoiatus: Sündmused, mida tuleb ebaõnnestumiste vältimiseks arvesse võtta.
  • Viga: Sündmused, mis põhjustavad koodi täitmise ebaõnnestumise.
  • Silumine: Seda taset kasutavad enamasti arendajad.

Kus metsaraie tehakse?

Logisündmusi saab järjekorda panna ja mitu kuulajat saavad järjekorda kuulata ja mis tahes vajalikku logisse kirjutada. Enne logimiskoha lõplikku määramist peaks teadma, et sihtmetoodika suudab toime tulla mitme logisõnumiga. Järgmised on mõned levinumad logi asukohad:



  • stdout
  • stderr
  • konsool

See on nii, et põhiline ' console.log() ” ja „ console.info() ' meetodid logige sisse ' stdout ”. Kuid ' console.warn() ” ja „ console.error() ' meetodid logige sisse ' stderr ”. Need meetodid kuvavad väljundi konsoolil. Esiotsas on see programmeerija tööriistakonsool.



Kuidas Node.js-is logimist rakendada?

Raievajaduse analüüsimine erinevates olukordades on vastava raieviisi rakendamisel ülioluline. Sisse logimist node.js saab rakendada alltoodud lähenemisviiside abil:





  • console.log() ” Meetod.
  • console.warn() ” Meetod.
  • console.error() ” Meetod.
  • console.table() ” Meetod.
  • Silumismoodul.
  • Winstoni pakett.

1. lähenemisviis: Rakendage logimine failis node.js, kasutades meetodit 'console.log()'.

' console.log() ” meetod kuvab väljundi konsoolil ja on abiks koodi funktsionaalsuste aeg-ajalt testimisel.

Süntaks



konsool. logi ( segadus )

Selles süntaksis ' segadus ” viitab konsooli kirjutatavale sõnumile.

Nüüd jätkake alltoodud koodiplokiga, mis logib konsoolil esitatud sõnumid:

konsool. logi ( 'See on Linuxhint!' ) ;

konsool. logi ( 'See on Node js!' ) ;

Väljund

Sellest tulemusest võib järeldada, et märgitud teated kuvatakse konsoolil asjakohaselt.

2. lähenemisviis: Rakendage node.js-s sisselogimine, kasutades meetodit 'console.warn()'.

' console.warn() ” meetod kuvab konsoolile hoiatusteate.

Süntaks

konsool. hoiatama ( segadus )

Antud süntaksis ' segadus ” tähistab konsoolil kuvatavat teadet (ka kohandatud).

Nüüd minge järgmisele koodireale, mis kuvab kohandatud hoiatusteate, kasutades ' console.warn() ” meetod:

konsool. hoiatama ( 'See on hoiatus!' ) ;

Väljund

Nagu näha, kuvatakse määratud kohandatud hoiatus asjakohaselt.

3. lähenemisviis: Rakendage node.js-s sisselogimine, kasutades meetodit 'console.error()'.

See meetod kirjutab konsooli veateate.

Süntaks

konsool. viga ( [ andmeid ] [ , ... argumendid ] )

Selles süntaksis:

  • andmeid ” viitab esmasele sõnumile.
  • argumendid ” esindavad väärtusi.

Tagastusväärtus

See meetod toob välja veateate.

Ülevaade järgmisest koodilõigust, mis logib tõrketeate mitterahuldava olukorra korral:

x = 150 ;
kui ( x < 100 ) {
konsool. logi ( 'Valmis' ) ;
}
muidu {
konsool. viga ( 'Sobimatu number' ) ;
}

Selle koodi järgi:

  • Initsialiseerige tingimuste jaoks analüüsitav täisarv.
  • Pärast seda rakendage ' kui ” lause nii, et kui initsialiseeritud täisarv on väiksem kui „100”, kuvatakse määratud teade.
  • Vastasel juhul ' muidu ' avaldus käivitab veateate ' console.error() ” meetod.

Väljund

See väljund kinnitab, et mitterahuldava olukorra korral kuvatakse konsoolil kohandatud veateade.

4. lähenemisviis: Rakendage node.js-s sisselogimine, kasutades meetodit 'console.table()'.

See meetod loob ja kuvab tabeli konsoolil.

Süntaks

konsool. laud ( td, tc )

Siin, ' td ' tähistab tabeli andmeid ja ' tc ” viitab tabeli veergude massiivile.

Nüüd lugege läbi allolev koodilause, mis loob tabeli, määrates video andmetüüpide määratud väärtustele kaks korda eraldi indeksi:

konsool. laud ( [ { x : 10 , a : 'Harry' } , { x : viisteist , a : 'koos' } ] ) ;

Väljund

5. lähenemisviis: Rakendage node.js-s sisselogimine, kasutades 'silumismoodulit'

Seda moodulit saab kasutada lisateabe logimiseks veebi vahevara (nt Express, Koa jne) oleku kohta, kui taustaprogramm saab Interneti-päringu. Vahevara lisatakse päringukonveierisse.

Logimise vahevara seadistamiseks on järgmised lähenemisviisid.

Näide 1: Logimise vahevara seadistamine rakendusest

' app.use() ” ühendab sihtvahevara funktsiooni määratud teele.

Süntaks

rakendus. kasutada ( pt, cb )

Ülaltoodud süntaksis:

  • pt ” viitab teele, mille jaoks vahetarkvara funktsiooni kutsutakse.
  • cb ” vastab vahevara funktsiooni(de)le.

Järgmine on koodi demonstratsioon, mis seadistab logimise vahevara rakenduse ja käsitletud meetodi kaudu:

konst rakendus = väljendada ( )

konst logMiddleware = nõuda ( 'minu logimise vahevara' )

rakendus. kasutada ( logMiddleware )

Selles koodis looge Express rakendus ja lisage ' my-logging-middleware ”, et alustada tööd logimise vahevaraga. Lõpuks rakendage ' app.use() ” funktsioon sihtvahevara funktsiooni paigaldamiseks määratud teele.

Näide 2: Logimise vahevara seadistamine rakendusest ruuteri kaudu

' ruuter.use() ” funktsioon ühendab vahevara sihtmarsruuteri kaudu teenindatavate marsruutide jaoks.

Süntaks

ruuter. kasutada ( jaoks, func )

Selles süntaksis:

  • pt ” viitab vahevara teele.
  • func ” vastab tagasihelistamisena edastatud funktsioonile.

Allolev näide seadistab logimise vahevara ruuteri objekti ja „ ruuter.use() ” funktsioon:

konst ruuter = väljendada. Ruuter ( )

konst rtLoggingMiddleware = nõuda ( 'my-route-logging-middleware' )

ruuter. kasutada ( rtLoggingMiddleware )

Selles koodis:

  • ' express.Ruuter() ” funktsioon loob uue ruuteri objekti.
  • Pärast seda lisage ' my-route-logging-middleware ” ja samamoodi kasuta „ ruuter.use() ” funktsioon vahevara ühendamiseks sihtmarsruuteri teenindatavate marsruutide jaoks.

6. lähenemisviis: Rakendage node.js-s sisselogimine, kasutades 'Winstoni paketti'

See konkreetne pakett sisaldab salvestusvõimalusi, mitut logitaset, päringuid ja profileerijat. Järgmine on koodi demonstratsioon, mis rakendab logimist selle lähenemisviisi kaudu:

konst x = väljendada ( )
konst sisaldama = nõuda ( 'winston' )
konst konsoolTransport = uus sisaldama. transpordid . konsool ( )
konst opt = {
transpordid : [ konsoolTransport ]
}
konst metsaraie = uus sisaldama. looLogger ( opt )
funktsioon displayRequest ( req, res, next ) {
metsaraie. info ( req. url )
järgmiseks ( )
}
x. kasutada ( displayRequest )
funktsiooni kuvamisviga ( err, req, res, next ) {
metsaraie. viga ( eks )
järgmiseks ( )
}
x. kasutada ( displayError )

Selles koodis:

  • Filtreerimisega saab seadistada mitu transporti ja seadistada kohandatud vormindajaid.
  • Samuti on erinevates funktsioonides määratud mitu logija eksemplari, st ' logger.info() ” ja „ logger.error() ”.
  • Need logijad kuvavad vastavalt teavet ja veateateid.
  • Selles koodis logitakse ainult taotletud URL.

Allpool antud parameetrid võtavad logijad:

Nimi Vaikimisi Kirjeldus
vormingus Winston.format.json Vormindab infosõnumid
vaikne Vale Kui see on tõsi, peatatakse kõik logid.
exitOnError Tõsi Kui see on vale, siis toime tulnud erandid protsessi.exit ei põhjusta
tasemed Winston.config.npm.levels Tasemed viitavad logi prioriteetidele.

Järeldus

Sisse logimist node.js saab rakendada ' console.log() meetod, ' console.warn() meetod, ' console.error() meetod, ' console.table() meetod, ' Silumismoodul ”, või „ Winstoni pakett ”. Konsoolimeetodid kuvavad teavet ja veateateid. Silumismoodul logib lisateavet veebi vahevara oleku kohta ning Winstoni pakett sisaldab salvestusvõimalusi ja erinevaid logitasemeid.