logologo
התחלה
מדריך
פיתוח
תוסף
API
English
简体中文
日本語
한국어
Deutsch
Français
Español
Português
Русский
Italiano
Türkçe
Українська
Tiếng Việt
Bahasa Indonesia
ไทย
Polski
Nederlands
Čeština
العربية
עברית
हिन्दी
Svenska
התחלה
מדריך
פיתוח
תוסף
API
logologo

התחלה מהירה

סקירת פיתוח Plugin
כתיבת Plugin ראשון
מבנה תיקיות הפרויקט

פיתוח Server-side

סקירה כללית
Plugin
Collections טבלאות נתונים
Database: פעולות
DataSourceManager - ניהול מקורות נתונים
ResourceManager
ACL בקרת הרשאות
Middleware
Cache
Event
Context - הקשר בקשה
Migration סקריפט שדרוג
Logger יומן
Telemetry
I18n בינאום
Command
CronJobManager ניהול משימות מתוזמנות
Test

פיתוח Client-side

סקירה כללית
Plugin
Context
Router ניתוב
ACL בקרת הרשאות
DataSourceManager - ניהול מקורות נתונים
Resource
Request
Styles & Themes
Logger יומן
I18n בינאום
Test

אחר

מדריך שדרוג Plugin
רשימת שפות
ניהול תלויות
בנייה
Previous PageStyles & Themes
Next PageI18n בינאום
TIP

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

#יומן

NocoBase מספקת מערכת יומנים בעלת ביצועים גבוהים המבוססת על pino. בכל מקום שבו יש לכם גישה ל-context, תוכלו לקבל מופע של יומן דרך ctx.logger כדי לתעד יומנים חשובים במהלך ריצת התוסף או המערכת.

#שימוש בסיסי

// תיעוד שגיאות קריטיות (לדוגמה: כשל באתחול)
ctx.logger.fatal('Application initialization failed', { error });

// תיעוד שגיאות כלליות (לדוגמה: שגיאות בבקשות API)
ctx.logger.error('Data loading failed', { status, message });

// תיעוד אזהרות (לדוגמה: סיכוני ביצועים או פעולות משתמש חריגות)
ctx.logger.warn('Current form contains unsaved changes');

// תיעוד מידע כללי על ריצה (לדוגמה: רכיב נטען בהצלחה)
ctx.logger.info('User profile component loaded');

// תיעוד מידע לניפוי באגים (לדוגמה: שינויי מצב)
ctx.logger.debug('Current user state', { user });

// תיעוד מידע מעקב מפורט (לדוגמה: תהליך רינדור)
ctx.logger.trace('Component rendered', { component: 'UserProfile' });

מתודות אלו מתאימות לרמות יומן שונות (מהגבוה לנמוך):

רמהמתודהתיאור
fatalctx.logger.fatal()שגיאות קריטיות, שבדרך כלל גורמות ליציאה מהתוכנית
errorctx.logger.error()יומני שגיאה, המצביעים על כשל בבקשה או בפעולה
warnctx.logger.warn()מידע אזהרה, המצביע על סיכונים פוטנציאליים או מצבים בלתי צפויים
infoctx.logger.info()מידע כללי על ריצה
debugctx.logger.debug()מידע לניפוי באגים, לסביבת פיתוח
tracectx.logger.trace()מידע מעקב מפורט, המשמש בדרך כלל לאבחון מעמיק

#פורמט היומן

כל פלט יומן הוא בפורמט JSON מובנה, המכיל כברירת מחדל את השדות הבאים:

שדהסוגתיאור
levelnumberרמת יומן
timenumberחותמת זמן (מילישניות)
pidnumberמזהה תהליך (PID)
hostnamestringשם מארח (Hostname)
msgstringהודעת יומן
אחריםobjectמידע הקשר מותאם אישית

פלט לדוגמה:

{
  "level": 30,
  "time": 1730540153064,
  "pid": 12765,
  "hostname": "nocobase.local",
  "msg": "HelloModel rendered",
  "a": "a"
}

#קישור הקשר

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

plugin.context.logger.info('Plugin initialized');
model.context.logger.error('Model validation failed', { model: 'User' });

פלט לדוגמה (עם הקשר):

{
  "level": 30,
  "msg": "Plugin initialized",
  "plugin": "plugin-audit-trail"
}

#יומן מותאם אישית

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

const logger = ctx.logger.child({ module: 'MyPlugin' });
logger.info('Submodule started');

יומני צאצא יורשים את התצורה של יומן האב ומצרפים אוטומטית את ההקשר.

#היררכיית רמות היומן

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

שם הרמהערךשם המתודהתיאור
fatal60logger.fatal()שגיאות קריטיות, שבדרך כלל גורמות לכך שהתוכנית אינה יכולה להמשיך לפעול
error50logger.error()שגיאות כלליות, המצביעות על כשל בבקשה או חריגה בפעולה
warn40logger.warn()מידע אזהרה, המצביע על סיכונים פוטנציאליים או מצבים בלתי צפויים
info30logger.info()מידע רגיל, המתעד את מצב המערכת או פעולות תקינות
debug20logger.debug()מידע לניפוי באגים, לניתוח בעיות בשלב הפיתוח
trace10logger.trace()מידע מעקב מפורט, המשמש לאבחון מעמיק
silent-Infinity(אין מתודה מקבילה)כיבוי כל פלט היומנים

Pino יציג רק יומנים שרמתם גדולה או שווה להגדרת ה-level הנוכחית. לדוגמה, כאשר רמת היומן היא info, יומני debug ו-trace יתעלמו.

#שיטות עבודה מומלצות בפיתוח תוספים

  1. השתמשו ביומן ההקשר השתמשו ב-ctx.logger בהקשרי תוסף, מודל או יישום, כדי לשאת באופן אוטומטי מידע על המקור.

  2. הבחינו בין רמות יומן

    • השתמשו ב-error לתיעוד חריגות עסקיות
    • השתמשו ב-info לתיעוד שינויי מצב
    • השתמשו ב-debug לתיעוד מידע לניפוי באגים בפיתוח
  3. הימנעו מריבוי יומנים במיוחד ברמות debug ו-trace, מומלץ להפעיל אותן רק בסביבות פיתוח.

  4. השתמשו בנתונים מובנים העבירו פרמטרים של אובייקטים במקום לשרשר מחרוזות; זה מסייע בניתוח ובסינון יומנים.

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