Reģistrācija var būt nenovērtējams rīks problēmu novēršanai un lietotņu izmantošanas analīzei. Šīs paketes palīdz padarīt to vienkāršu.

Pareiza reģistrēšana ir būtisks funkcionālu tīmekļa lietojumprogrammu izveides un uzturēšanas aspekts. Tas var palīdzēt izsekot kļūdām, diagnosticēt veiktspējas problēmas un izprast, kā lietotāji mijiedarbojas ar jūsu lietotni.

Node.js ir daudz reģistrēšanas pakotņu, kas palīdz izveidot un pārvaldīt strukturētus žurnālus. Šeit jūs izpētīsit populārākās reģistrēšanas pakotnes, kas pašlaik ir pieejamas Node.js ekosistēmā, un to, kā tās izmantot.

1. Vinstons

Winston ir Node.js bibliotēka, kas nodrošina elastīgu reģistrēšanas funkcionalitāti, tostarp vairākus transportēšanu. “Transports” ir jūsu apaļkoku uzglabāšanas līdzeklis.

Winston atbalsta konsoles, failu un tīkla transportēšanu. Tas nozīmē, ka varat izdrukāt žurnālus konsolē, ierakstīt tos failā vai nosūtīt tīklā. Izmantojot Winston reģistrēšanas līmeņus, varat izveidot pielāgotus transportēšanu un filtrēt žurnālus, pamatojoties uz smaguma pakāpi.

Varat instalēt Winston kā atkarību sava projekta direktorijā, izmantojot npm, JavaScript pakotņu pārvaldnieks. Palaidiet šo komandu:

npm instalējiet Winston

Tālāk redzamais koda bloks parāda, kā iestatīt pamata reģistrēšanas sistēmu, izmantojot Winston. Varat definēt žurnālus dažādām atrašanās vietām un dažāda smaguma pakāpei.

konst Vinstons = pieprasīt("vinstons");

// Vinstona mežizstrādātājs
konst logger = winston.createLogger({
līmenis: 'informācija',
formāts: winston.format.json(),
noklusējumaMeta: { apkalpošana: "mans pakalpojums" },
pārvadājumi: [
jauns Winston.transports. Konsole(),
jauns Winston.transports. Fails({ faila nosaukums: 'error.log', līmenī: 'kļūda' }),
jauns Winston.transports. Fails({ faila nosaukums: 'combined.log' })
]
});

logger.info("Sveiks, Vinston!");
logger.warn("Brīdinājums: kaut kas var būt nepareizi.");
logger.error('Notika kļūda.');

Šis kods konfigurē reģistrētāju ar trīs transportēšanu. Pirmais ir konsoles transports, kas izvadīs žurnāla ziņojumus konsolei. Otrais ir failu transports, kas ierakstīs žurnālus ar "kļūdas" līmeni failā "error.log". Trešais ir failu transports, kas ierakstīs visus žurnālus "combined.log" failā.

Reģistrētājs pēc noklusējuma ir iestatīts reģistrēties "informācijas" līmenī, un tas ietver noklusējuma metadatu objektu ar lauku "service", kas iestatīts uz "mans pakalpojums".

Pēc tam kods reģistrē trīs ziņojumus, izmantojot reģistrētāju, attiecīgi "informācijas", "brīdinājuma" un "kļūdas" līmenī. Šie ziņojumi tiks izvadīti uz konsoli un atbilstošiem žurnālfailiem atbilstoši transportēšanas konfigurācijai.

2. Morgans

Morgan ir Node.js reģistrēšanas starpprogrammatūra, kas nodrošina pamata pieprasījumu reģistrēšanas iespējas. Tas ir izstrādāts tā, lai tas būtu viegls un ērti lietojams. Morgan strādā, pārtverot HTTP pieprasījumus un reģistrējot attiecīgo informāciju, piemēram, pieprasījuma metodi, URL, statusa kodu utt.

Viena no galvenajām Morgan priekšrocībām ir tās vienkāršība. Varat to pievienot lietojumprogrammai Node.js, izmantojot dažas koda rindiņas, jo tās iestatīšanai nav nepieciešama papildu konfigurācija.

Morgan atbalsta vairākus reģistrēšanas formātus, tostarp kopīgs, apvienots, īss, sīks, un izstrādātājs formātos, ļaujot jums izvēlēties to, kas vislabāk atbilst jūsu vajadzībām.

Varat instalēt Morgan kā atkarību sava projekta direktorijā, izpildot šo komandu:

npm instalēt morgan

Šis kods parāda, kā lietot Morgan Express lietojumprogramma:

konst izteikt = pieprasīt("izteikt");
konst morgan = pieprasīt("morgan");
konst lietotne = express();

app.use (morgan("izstrādātājs"));

app.get("/", (req, res) => {
res.send("Sveika pasaule!");
});

app.listen(3000, () => konsole.log(`Lietojumprogramma sākta`));

Kods inicializē Morganu, izmantojot izstrādātājs formātā. Veicot GET pieprasījumu saknes maršrutam (/), Morgan reģistrē šī pieprasījuma informāciju konsolē.

Neskatoties uz vienkāršību, Morgan ir jaudīga reģistrēšanas pakotne, kas nodrošina būtiskas pieprasījumu reģistrēšanas iespējas Node.js lietojumprogrammām.

3. Pino

Pino ir populāra un viegla reģistrēšanas pakotne Node.js lietojumprogrammām, kas lepojas ar ātru veiktspēju un zemām izmaksām, kā norādīts savus etalonus.

Pino atbalsta vairākus transporta veidus, kurus ir viegli paplašināt ar pielāgotiem transportiem. Viena no Pino galvenajām funkcijām ir spēja reģistrēt JSON formatētus ziņojumus, kas ļauj tos viegli parsēt un analizēt.

Pino izmantošana atšķiras atkarībā no Node.js ietvara; varat instalēt Pino kā atkarību savā Express projekta direktorijā, izpildot tālāk norādīto komandu:

npm instalēt pino-http

Dažādiem ietvariem pārbaudiet Pino dokumentācija.

Šis koda bloks parāda Pino lietojumu Express lietojumprogrammā:

konst izteikt = pieprasīt("izteikt");
konst lietotne = express();
konst pino = pieprasīt('pino-http')()

app.use (pino)

app.get("/", (req, res) => {
pino (req, res) // reģistrē pieprasījumu un atbildi
req.log.info('saknes ceļš') // reģistrē papildu informāciju
res.send("Sveika pasaule!");
});

app.listen(3000, () => konsole.log(`Lietojumprogramma sākta`));

Šis kods inicializē Pino un reģistrē to kā starpprogrammatūru. Kad veicat GET pieprasījumu saknes maršrutam (/), Pino konsole reģistrē jūsu pieprasījuma informāciju un tā atbildi.

4. Atkļūdošana

Atkļūdošana ir Node.js reģistrēšanas pakotne, kas veidota pēc Node.js kodola atkļūdošanas tehnikas. Tas nodrošina vieglu reģistrēšanas risinājumu, kas ļauj selektīvi iespējot vai atspējot reģistrēšanu, nemainot kodu, tādējādi atvieglojot atkļūdošanu un problēmu novēršanu.

Atkļūdošana arī ļauj iestatīt žurnālu nosaukumvietas, kas nodrošina jūsu žurnāliem hierarhisku struktūru, pamatojoties uz jūsu lietojumprogrammas komponentiem un moduļiem, atvieglojot to filtrēšanu un meklēšanu. Turklāt Debug piedāvā dažādus reģistrēšanas līmeņus, piemēram, kļūdu, brīdinājumu un informāciju, ko varat izmantot, lai noteiktu prioritāti un filtrētu žurnālus.

Varat instalēt atkļūdošanu kā atkarību sava projekta direktorijā, izmantojot šo komandu:

npm instalējiet atkļūdošanu

Šis kods parāda atkļūdošanas lietojumu Express lietojumprogrammā:

konst izteikt = pieprasīt('izteikt');

// Importējiet atkļūdošanu un izveidojiet nosaukumvietu
konst atkļūdot = pieprasīt("atkļūdot")('myapp: serveris');

konst lietotne = express();
konst ports = process.env. OST || 3000;

app.get('/', (req, res) => {
atkļūdot ("Saņemts pieprasījums /");
res.send('Sveika pasaule!');
});

app.listen (port, () => {
atkļūdot (`Serveris klausās portā ${port}`);
});

Kods izveido nosaukumvietu, myapp: serveris. Šī nosaukumvieta atšķirs žurnālus, kas saistīti ar jūsu “serveris” moduli no tiem, kas jūsu lietojumprogrammā ir saistīti ar citiem moduļiem ar citu nosaukumvietu.

Palaidiet šo komandu, lai sāktu atkļūdošanu:

DEBUG=myapp:* mezgla serveris.js

Šī komanda saskaņos jebkuru žurnāla ziņojumu ar nosaukumvietu, kas sākas ar myapp:. Ja vēlaties redzēt tikai žurnālus, kas saistīti ar jūsu serveris moduli, varat iestatīt ATKLĀŠANA vides mainīgais uz myapp: serveris.

Vēl viena Debug priekšrocība ir tā saderība ar citām reģistrēšanas pakotnēm, piemēram, Winston.

Mežizstrādes pakotnes izvēle

Mežizstrādes pakotnes izvēle ir svarīgs lēmums, kas var būtiski ietekmēt jūsu atkļūdošanas procesa efektivitāti un efektivitāti. Ir svarīgi ņemt vērā tādus faktorus kā pakotnes īpašības un iespējas, tā saderība ar jūsu programmēšanas valodu un izstrādes vidi, kā arī tās lietošanas vienkāršība un konfigurācija.

Galu galā mežizstrādes pakotnes izvēle būs atkarīga no jūsu projekta īpašajām vajadzībām un prasībām.