כיצד ליישם רישום ב-Node.js

Kyzd Lyysm Ryswm B Node Js



' רישום ” ב-node.js ממלא תפקיד חיוני בשמירה על כל מחזור החיים של הליך פיתוח האתר. זה כזה ש-logging היא הפונקציונליות הנפוצה ביותר שמתבצעת על ידי המפתחים כדי לנתח את פונקציונליות הקוד מעת לעת כדי לנתח את הנתונים, ולקוד ולפתור את השגיאות על סמך ניתוח הקוד.

כתיבה זו מסבירה את התכנים המפורטים להלן:

מתי להיכנס ל-node.js?

להלן רמות הרישום הנפוצות ב-node.js:







  • מידע: המשימות או הפלטים המאשרים את ביצוע הקוד היעיל.
  • לְהַזהִיר: האירועים שצריך לקחת בחשבון כדי למנוע את הכשלים.
  • שְׁגִיאָה: האירועים שגורמים לכישלון בביצוע הקוד.
  • לנפות: רמה זו מנוצלת בעיקר על ידי המפתחים.

היכן מתבצעת ההתחברות?

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



  • stdout
  • סטדרר
  • לְנַחֵם

זה כזה שהבסיסי ' console.log() ' ו' console.info() ' יומן שיטות ל' stdout '. אולם, ה ' console.warn() ' ו' console.error() ' יומן שיטות ל' סטדרר '. שיטות אלו מציגות את הפלט בקונסולה. בקצה הקדמי, זה יהיה קונסולת הכלים של המתכנת.



כיצד ליישם רישום ב-Node.js?

ניתוח הצורך ברישום במצבים שונים הוא חיוני ליישום גישת הרישום המתאימה. ניתן ליישם את הכניסה ל-node.js באמצעות הגישות המפורטות להלן:





  • ' console.log() ' שיטה.
  • ' console.warn() ' שיטה.
  • ' console.error() ' שיטה.
  • ' console.table() ' שיטה.
  • מודול ניפוי באגים.
  • חבילת ווינסטון.

גישה 1: יישם התחברות ב-node.js באמצעות שיטת 'console.log()'.

ה ' console.log() השיטה מציגה את הפלט בקונסולה ומועילה לבדיקת פונקציונליות הקוד מעת לעת.

תחביר



לְנַחֵם. עֵץ ( אי סדר )

בתחביר זה, ' אי סדר ' מתייחס להודעה שתיכתב לקונסולה.

כעת, המשך לגוש הקוד הנתון להלן שמתעד את ההודעות שסופקו במסוף:

לְנַחֵם. עֵץ ( 'זה Linuxhint!' ) ;

לְנַחֵם. עֵץ ( 'זהו Node js!' ) ;

תְפוּקָה

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

גישה 2: יישם התחברות ב-node.js באמצעות שיטת 'console.warn()'.

ה ' console.warn() השיטה מציגה הודעת אזהרה לקונסולה.

תחביר

לְנַחֵם. לְהַזהִיר ( אי סדר )

בתחביר הנתון, ' אי סדר ' מציין את ההודעה (גם מותאמת אישית) שתוצג בקונסולה.

כעת, עבור אל שורת הקוד הבאה המציגה הודעת אזהרה מותאמת אישית בעזרת ה-' console.warn() ' שיטה:

לְנַחֵם. לְהַזהִיר ( 'זו אזהרה!' ) ;

תְפוּקָה

כפי שניתן לראות, האזהרה המותאמת אישית שצוינה מוצגת כראוי.

גישה 3: יישם התחברות ב-node.js באמצעות שיטת 'console.error()'.

שיטה זו כותבת הודעת שגיאה לקונסולה.

תחביר

לְנַחֵם. שְׁגִיאָה ( [ נתונים ] [ ,... טיעונים ] )

בתחביר הזה:

  • ' נתונים ' מתייחס להודעה הראשית.
  • ' טיעונים ' מייצגים את הערכים.

ערך החזרה

שיטה זו מאחזרת הודעת שגיאה.

סקירה כללית של קטע הקוד הבא שמתעד הודעת שגיאה במצב שאינו מרוצה:

איקס = 150 ;
אם ( איקס < 100 ) {
לְנַחֵם. עֵץ ( 'מוכן ללכת' ) ;
}
אַחֵר {
לְנַחֵם. שְׁגִיאָה ( 'מספר לא הולם' ) ;
}

לפי הקוד הזה:

  • אתחול מספר שלם לניתוח עבור התנאים.
  • לאחר מכן, החל את ' אם ' הצהרה כך שאם המספר השלם המאותחל קטן מ-'100', ההודעה שצוינה תוצג.
  • אחרת ה ' אַחֵר משפט ' מבצע את הודעת השגיאה ב' console.error() ' שיטה.

תְפוּקָה

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

גישה 4: יישם התחברות ב-node.js באמצעות שיטת 'console.table()'.

שיטה זו יוצרת ומציגה טבלה בקונסולה.

תחביר

לְנַחֵם. שולחן ( td, tc )

כאן, ' td ' מייצג את נתוני הטבלה, ו' tc ' מתייחס למערך עמודות הטבלה.

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

לְנַחֵם. שולחן ( [ { איקס : 10 , א : 'לְהָצִיק' } , { איקס : חֲמֵשׁ עֶשׂרֵה , א : 'עם' } ] ) ;

תְפוּקָה

גישה 5: יישום התחברות node.js באמצעות 'מודול ניפוי באגים'

ניתן להשתמש במודול זה לתיעוד מידע נוסף בנוגע למצב של תוכנת האמצע באינטרנט, כלומר, Express, Koa וכו' כאשר הקצה האחורי מקבל בקשת אינטרנט. תוכנת אמצעית מוכנסת לצינור הבקשות.

להלן הגישות להגדרת תוכנת הרישום:

דוגמה 1: הגדרת תוכנת הביניים לרישום מאפליקציה

ה ' app.use() ' הפונקציה מעלה את פונקציית התווך היעד בנתיב שצוין.

תחביר

אפליקציה. להשתמש ( pt, cb )

בתחביר הנתון לעיל:

  • ' pt ' מתייחס לנתיב שעבורו יש להפעיל את פונקציית התווך.
  • ' cb ' מתאים לפונקציות התווך.

להלן הדגמת הקוד שמגדירה את תוכנת הרישום באמצעות יישום והשיטה הנדונה:

const אפליקציה = אֶקְסְפּרֶס ( )

const logMiddleware = לִדרוֹשׁ ( 'תוכנת-הרישום-אמצעית שלי' )

אפליקציה. להשתמש ( logMiddleware )

בקוד זה, צור יישום אקספרס וכלול את ' my-logging-middleware 'כדי להתחיל לעבוד עם תוכנת הרישום. לבסוף, החל את ' app.use() ' פונקציה לטעינת פונקציית תוכנת התווך היעד בנתיב שצוין.

דוגמה 2: הגדרת תוכנת הביניים לרישום מאפליקציה דרך נתב

ה ' router.use() ' הפונקציה מעלה תוכנת ביניים עבור המסלולים המוגשים דרך נתב היעד.

תחביר

נתב. להשתמש ( עבור, func )

בתחביר הזה:

  • ' pt ' מתייחס לנתיב התווך.
  • ' func ' מתאים לפונקציה שהועברה כהתקשרות חזרה.

הדוגמה להלן מגדירה את תוכנת הרישום בעזרת אובייקט הנתב וה-' router.use() ' פונקציה:

const נתב = אֶקְסְפּרֶס. נתב ( )

const rtLoggingMiddleware = לִדרוֹשׁ ( 'המסלול שלי-רישום-אמצעי' )

נתב. להשתמש ( rtLoggingMiddleware )

בקוד הזה:

  • ה ' express.Router() ' הפונקציה יוצרת אובייקט נתב חדש.
  • לאחר מכן, כלול את ' my-route-logging-middleware ' וכמו כן, השתמש ב-' router.use() ' פונקציה להרכבת תוכנת ביניים עבור המסלולים שמשרתים נתב היעד.

גישה 6: יישום התחברות node.js באמצעות 'חבילת Winston'

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

const איקס = אֶקְסְפּרֶס ( )
const לִכלוֹל = לִדרוֹשׁ ( 'ווינסטון' )
const consoleTransport = חָדָשׁ לִכלוֹל. הובלות . לְנַחֵם ( )
const בוחר = {
הובלות : [ consoleTransport ]
}
const כּוֹרֵת עֵצִים = חָדָשׁ לִכלוֹל. createLogger ( בוחר )
פונקציה displayRequest ( req, res, next ) {
כּוֹרֵת עֵצִים. מידע ( req. כתובת אתר )
הַבָּא ( )
}
איקס. להשתמש ( displayRequest )
פונקציה displayError ( שגיאה, דרישה, מילון, הבא ) {
כּוֹרֵת עֵצִים. שְׁגִיאָה ( לִטְעוֹת )
הַבָּא ( )
}
איקס. להשתמש ( displayError )

בקוד הזה:

  • ניתן להגדיר מספר העברות באמצעות סינון וניתן להגדיר פורמטים מותאמים אישית.
  • כמו כן, מופעי לוגר מרובים מצוינים בפונקציות שונות, כלומר, ' logger.info() ' ו' logger.error() '.
  • יומנים אלה מציגים את המידע והודעות השגיאה, בהתאמה.
  • בקוד זה, רק כתובת האתר המבוקשת מתועדת.

הפרמטרים המפורטים להלן נלקחים על ידי היומנים:

שֵׁם בְּרִירַת מֶחדָל תיאור
פוּרמָט Winston.format.json פורמט את הודעות המידע
שקט שֶׁקֶר אם זה נכון, כל היומנים מושהים.
exitOnError נָכוֹן אם הוא false, החריגים שהתמודדו אינם גורמים ל-process.exit
רמות Winston.config.npm.levels הרמות מתייחסות לסדר העדיפויות ביומן.

סיכום

ניתן ליישם את הכניסה ל-node.js באמצעות ' console.log() שיטת ', ה' console.warn() שיטת ', ה' console.error() שיטת ', ה' console.table() שיטת ', ה' מודול ניפוי באגים ', או באמצעות ' חבילת ווינסטון '. שיטות המסוף מציגות את המידע והודעות השגיאה. מודול Debug רושם מידע נוסף על מצב תוכנת התווך של האינטרנט וחבילת Winston מכילה את אפשרויות האחסון ורמות יומן שונות.