רישום יכול להיות כלי רב ערך לפתרון בעיות ולניתוח השימוש באפליקציה. חבילות אלו עוזרות להפוך את זה לתהליך פשוט.

רישום נכון הוא היבט קריטי בבנייה ותחזוקה של יישומי אינטרנט פונקציונליים. זה יכול לעזור לך לעקוב אחר שגיאות, לאבחן בעיות ביצועים ולהבין כיצד משתמשים מקיימים אינטראקציה עם האפליקציה שלך.

ל-Node.js יש חבילות רישום רבות שיעזרו לך ליצור ולנהל יומנים מובנים. כאן תוכלו לחקור את חבילות הרישום המובילות הזמינות כעת במערכת האקולוגית של Node.js וכיצד להשתמש בהן.

1. ווינסטון

Winston היא ספריית Node.js המספקת פונקציונליות רישום גמישה, כולל תעבורות מרובות. "הובלה" היא אמצעי אחסון עבור היומנים שלך.

Winston תומך בהעברת מסוף, קבצים ורשת. זה אומר שאתה יכול להדפיס את היומנים שלך למסוף, לכתוב אותם לקובץ או לשלוח אותם דרך רשת. באמצעות רמות הרישום של Winston, אתה יכול ליצור הובלות מותאמות אישית ולסנן יומני על סמך חומרה.

אתה יכול להתקין את Winston כתלות בספריית הפרויקט שלך באמצעות npm, מנהל החבילות של JavaScript. הפעל את הפקודה הזו:

npm להתקין את Winston

בלוק הקוד שלהלן מדגים כיצד להגדיר מערכת רישום בסיסית באמצעות Winston. אתה יכול להגדיר יומנים עבור מיקומים שונים ורמות חומרה שונות.

instagram viewer
const וינסטון = לִדרוֹשׁ("ווינסטון");

// ווינסטון לוגר
const logger = winston.createLogger({
רָמָה: 'מידע',
פורמט: winston.format.json(),
defaultMeta: { שֵׁרוּת: 'השירות שלי' },
הובלות: [
חָדָשׁ winston.transports. לְנַחֵם(),
חָדָשׁ winston.transports. קוֹבֶץ({ שם קובץ: 'error.log', רָמָה: 'שְׁגִיאָה' }),
חָדָשׁ winston.transports. קוֹבֶץ({ שם קובץ: 'combined.log' })
]
});

logger.info("שלום, ווינסטון!");
logger.warn('אזהרה: אולי משהו לא בסדר'.);
logger.error('התרחשה שגיאה.');

קוד זה מגדיר לוגר עם שלושה העברות. הראשון הוא שינוע מסוף, אשר יוציא הודעות יומן למסוף. השני הוא שינוע קבצים שיכתוב לוגים ברמת "שגיאה" לקובץ "error.log". השלישי הוא העברת קבצים שיכתוב את כל היומנים לקובץ "combined.log".

היומן מוגדר להתחבר ברמת "מידע" כברירת מחדל וכולל אובייקט מטא-נתונים המוגדר כברירת מחדל עם שדה "שירות" מוגדר ל-"my-service".

לאחר מכן, הקוד רושם שלוש הודעות באמצעות לוגר ברמות "מידע", "אזהרה" ו"שגיאה", בהתאמה. הודעות אלו יועברו לקונסולה ולקובצי היומן המתאימים בהתאם לתצורת הטרנספורטים.

2. מורגן

Morgan היא תוכנת רישום עבור Node.js המספקת יכולות בסיסיות של רישום בקשות. זה נועד להיות קל משקל וקל לשימוש. מורגן פועלת על ידי יירוט בקשות HTTP ורישום מידע רלוונטי, כגון שיטת הבקשה, כתובת האתר, קוד המצב וכו'.

אחד היתרונות המרכזיים של מורגן הוא הפשטות שלו. אתה יכול להוסיף אותו ליישום Node.js עם כמה שורות קוד, מכיוון שהוא לא דורש תצורה נוספת להגדרה.

מורגן תומך במספר פורמטי רישום, כולל מְשׁוּתָף, מְשׁוּלָב, קצר, זָעִיר, ו dev פורמטים, המאפשרים לך לבחור את הפורמט המתאים ביותר לצרכים שלך.

אתה יכול להתקין את מורגן כתלות בספריית הפרויקט שלך על ידי הפעלת הפקודה הזו:

npm להתקין את Morgan

קוד זה מראה כיצד להשתמש ב- Morgan ב אפליקציית אקספרס:

const express = לִדרוֹשׁ("אֶקְסְפּרֶס");
const מורגן = לִדרוֹשׁ("מורגן");
const app = express();

app.use (מורגן("מפתח"));

app.get("/", (req, res) => {
res.send("שלום עולם!");
});

app.listen(3000, () => לְנַחֵם.עֵץ('האפליקציה התחילה'));

הקוד מאתחל את מורגן באמצעות ה- dev פוּרמָט. כאשר אתה מבצע בקשת GET למסלול הבסיס (/), מורגן רושם את הפרטים של אותה בקשה למסוף.

למרות הפשטות שלה, מורגן היא חבילת רישום רב עוצמה המספקת יכולות חיוניות לרישום בקשות עבור יישומי Node.js.

3. פינו

Pino היא חבילת רישום פופולרית וקלת משקל עבור יישומי Node.js המתהדרת בביצועים מהירים ותקורה נמוכה, כפי שצוין ב המדדים שלהם.

Pino תומך במספר סוגי הובלה, המורחבים בקלות עם הובלות מותאמות אישית. אחת התכונות המרכזיות של פינו היא היכולת שלו לרשום הודעות בפורמט JSON, מה שמקל על הניתוח והניתוח שלהן.

השימוש ב-Pino משתנה בהתאם למסגרת Node.js; אתה יכול להתקין את Pino כתלות בספריית פרויקט ה-Express שלך על ידי הפעלת הפקודה למטה:

npm להתקין pino-http

עבור מסגרות שונות, בדוק את תיעוד פינו.

בלוק קוד זה מציג את השימוש של פינו ביישום Express:

const express = לִדרוֹשׁ("אֶקְסְפּרֶס");
const app = express();
const פינו = לִדרוֹשׁ('pino-http')()

app.use (פינו)

app.get("/", (req, res) => {
פינו (req, res) // יומן בקשה ותגובה
req.log.info('מסלול שורש') // רושם מידע נוסף
res.send("שלום עולם!");
});

app.listen(3000, () => לְנַחֵם.עֵץ('האפליקציה התחילה'));

קוד זה מאתחל את Pino ורושם אותו כתווך. כאשר אתה מבצע בקשת GET למסלול השורש (/), Pino רושם את פרטי הבקשה שלך ואת תגובתה למסוף.

4. לנפות

Debug היא חבילת רישום עבור Node.js שעוצבה לפי טכניקת ניפוי הבאגים של Node.js core. הוא מספק פתרון רישום קל משקל המאפשר לך להפעיל או לבטל רישום באופן סלקטיבי מבלי לשנות את הקוד, מה שמקל על איתור באגים ופתרון בעיות.

Debug גם מאפשר לך להגדיר מרחבי שמות של יומנים, המספקים מבנה היררכי ליומנים שלך בהתבסס על הרכיבים והמודולים ביישום שלך, מה שמקל על הסינון והחיפוש בהם. בנוסף, Debug מציע רמות רישום שונות, כגון שגיאה, אזהרה ומידע, שבהם אתה יכול להשתמש כדי לתעדף ולסנן את היומנים שלהם.

אתה יכול להתקין Debug כתלות בספריית הפרויקט שלך עם הפקודה הזו:

npm להתקין באגים

קוד זה מציג את השימוש של Debug ביישום Express:

const express = לִדרוֹשׁ('אֶקְסְפּרֶס');

// ייבא איתור באגים וצור מרחב שמות
const איתור באגים = לִדרוֹשׁ('לנפות')('myapp: server');

const app = express();
const port = process.env. PORT || 3000;

app.get('/', (req, res) => {
לנפות('התקבלה בקשה עבור /');
res.send('שלום עולם!');
});

app.listen (פורט, () => {
לנפות(`שרת מאזין ביציאה ${port}`);
});

הקוד יוצר מרחב שמות, myapp: שרת. מרחב השמות הזה יבחין ביומנים הקשורים ל" שלךשרת" מודול מאלה המשויכים למודולים אחרים עם מרחב שמות שונה ביישום שלך.

הפעל את הפקודה הזו כדי להפעיל ניפוי באגים:

DEBUG=myapp:* node server.js

פקודה זו למעלה תתאים לכל הודעת יומן מרחב שמות שמתחיל ב myapp:. אם ברצונך לראות רק יומנים הקשורים לשלך שרת מודול, אתה יכול להגדיר את לנפות משתנה סביבה ל myapp: שרת.

יתרון נוסף של Debug הוא התאימות שלו עם חבילות רישום אחרות, כמו Winston.

בחירת חבילת רישום

בחירת חבילת רישום היא החלטה חשובה שיכולה להשפיע באופן משמעותי על היעילות והאפקטיביות של תהליך איתור הבאגים שלך. חיוני לקחת בחשבון גורמים כמו התכונות והיכולות של החבילה, שלה תאימות עם שפת התכנות וסביבת הפיתוח שלך, וקלות השימוש שלה ו תְצוּרָה.

בסופו של דבר, בחירת חבילת הרישום תהיה תלויה בצרכים ובדרישות הספציפיות של הפרויקט שלך.