מסמך זה תורגם על ידי בינה מלאכותית. לכל אי דיוק, אנא עיין בגרסה האנגלית
מנגנון יומן האירועים של NocoBase מבוסס על Winston. כברירת מחדל, NocoBase מחלק את יומני האירועים ליומני בקשות API, יומני ריצת מערכת ויומני ביצוע SQL. יומני בקשות API ויומני ביצוע SQL מודפסים באופן פנימי על ידי היישום. מפתחי תוספים (Plugin) בדרך כלל צריכים להדפיס רק יומני ריצת מערכת הקשורים לתוסף שלהם.
מסמך זה מתאר כיצד ליצור ולהדפיס יומני אירועים בעת פיתוח תוספים.
NocoBase מספקת שיטות להדפסת יומני ריצת מערכת. יומני האירועים מודפסים לפי שדות מוגדרים מראש ומופקים לקבצים ייעודיים.
כל השיטות שהוצגו לעיל פועלות לפי אופן השימוש הבא:
הפרמטר הראשון הוא הודעת היומן, והפרמטר השני הוא אובייקט מטא-דאטה אופציונלי. אובייקט זה יכול להכיל כל זוגות מפתח-ערך, כאשר השדות module, submodule ו-method יחולצו כשדות נפרדים, ואילו שאר השדות ימוקמו בשדה meta.
אם ברצונכם להשתמש בשיטת ההדפסה המוגדרת כברירת מחדל של המערכת, אך לא להפיק את היומנים לקובץ ברירת המחדל, באפשרותכם ליצור מופע לוגר מערכת מותאם אישית באמצעות createSystemLogger.
אם אינכם מעוניינים להשתמש בשיטות ההדפסה שמספקת המערכת, וברצונכם להשתמש בשיטות המקוריות של Winston, תוכלו ליצור יומני אירועים באמצעות השיטות הבאות.
createLoggerהאובייקט options מרחיב את winston.LoggerOptions המקורי.
transports - ניתן להשתמש ב-'console' | 'file' | 'dailyRotateFile' כדי ליישם שיטות פלט מוגדרות מראש.format - ניתן להשתמש ב-'logfmt' | 'json' | 'delimiter' כדי ליישם פורמטים מוגדרים מראש להדפסה.app.createLoggerבתרחישים של ריבוי יישומים, לעיתים אנו רוצים להגדיר ספריות וקבצי פלט מותאמים אישית, שיוכלו להיות מופקים לספרייה הנושאת את שם היישום הנוכחי.
plugin.createLoggerתרחיש השימוש ואופן הפעולה זהים ל-app.createLogger.