"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > إنشاء مسجل مخصص لتطبيق Node.js باستخدام Errsole

إنشاء مسجل مخصص لتطبيق Node.js باستخدام Errsole

تم النشر بتاريخ 2024-08-26
تصفح:839

يتكون كل نظام تسجيل قوي من ثلاثة مكونات رئيسية: المجمع، والتخزين، والمتخيل. تعمل وحدات تسجيل Node.js الشائعة مثل Winston وPino كمجمعات سجلات فقط. ومع ذلك، تقدم Errsole حلاً كاملاً للتسجيل يتضمن:

  1. تخزين السجل: حفظ السجلات في ملف أو قاعدة بيانات التطبيق الخاص بك.

  2. لوحة المعلومات المدمجة: عرض السجلات وتصفيتها والبحث فيها باستخدام لوحة المعلومات المدمجة.

  3. التنبيهات: تلقي إشعارات في الوقت الحقيقي للأخطاء الجسيمة.

تثبيت Errsole وتبعياته

لاستخدام Errsole، تحتاج إلى تثبيت وحدة Errsole مع وحدة تخزين بناءً على قاعدة البيانات التي اخترتها. فيما يلي خطوات التثبيت لخيارات التخزين المختلفة:

تخزين الملفات:

npm install errsole errsole-sqlite

مونغو دي بي:

npm install errsole errsole-mongodb

الخلية:

npm install errsole errsole-mysql

بوستجري إس كيو إل:

npm install errsole errsole-postgres

إنشاء ملف مسجل مخصص

في مشروع Node.js الواقعي، سيكون لديك ملفات متعددة. لاستخدام Errsole Logger في كل ملف من ملفات مشروعك، قم بإنشاء ملف logger.js وقم بتهيئة Errsole فيه:

const errsole = require('errsole');
const ErrsoleSQLite = require('errsole-sqlite');

errsole.initialize({
  storage: new ErrsoleSQLite('/tmp/logs.sqlite')
});

module.exports = errsole;

الآن، يمكنك استيراد ملف logger.js في كل ملف في مشروعك واستخدامه للتسجيل:

const logger = require('./logger');

// Example usage
logger.info('This is an informational message.');
logger.error('This is an error message.');

فهم مستويات السجل في Errsole

تأخذ وظائف Errsole Logger نفس الوسائط مثل console.log. يمكنك توفير سلسلة أو كائنات أو متغيرات واحدة أو أكثر مفصولة بفاصلة. بالإضافة إلى ذلك، يمكنك إرفاق بيانات التعريف برسائل السجل الخاصة بك باستخدام وظيفة التعريف. يمكن أن تكون بيانات التعريف هذه أي معلومات سياقية، مثل طلبات HTTP أو نتائج استعلام قاعدة البيانات.

logger.meta({ reqBody: req.body, queryResults: results }).error(err);
logger.meta({ email: req.body.email }).log('User logged in');

يوفر Errsole Logger وظائف لخمسة مستويات سجل: التنبيه، والخطأ، والتحذير، والمعلومات، وتصحيح الأخطاء.

السجل / المعلومات: يستخدم لتسجيل الرسائل أو المعلومات.

logger.log('Logging a message');
logger.log('Multiple', 'arguments', 'are supported');
logger.log('Logging with a variable:', var1);
logger.log(new Error('An error occurred'));
logger.log('Logging with an error object:', errorObject);

تنبيه: يسجل رسالة ويرسل إشعارًا إلى القنوات التي تم تكوينها، مثل البريد الإلكتروني أو Slack.

logger.alert('Alert! Something critical happened');

خطأ: مصمم خصيصًا لتسجيل الأخطاء.

logger.error(new Error('An error occurred'));

تحذير: يسجل رسائل التحذير.

logger.warn('This is a warning message');

تصحيح الأخطاء: سجلات معلومات تصحيح الأخطاء، تُستخدم عادةً لاستكشاف الأخطاء وإصلاحها أثناء التطوير.

logger.debug('Debugging information');

متى تستخدم logger.alert في التعليمات البرمجية الخاصة بك

عندما يتعطل تطبيق Node.js الخاص بك، يرسل Errsole إشعارًا في الوقت الفعلي إلى فريق التطوير الخاص بك. يتضمن هذا الإشعار رسالة الخطأ واسم التطبيق واسم البيئة واسم الخادم.

Creating a Custom Logger for a Node.js Application using Errsole

لإضافة أخطاء فادحة إلى قائمة الإشعارات هذه، استخدم logger.alert في التعليمات البرمجية الخاصة بك. ومع ذلك، تجنب الإفراط في استخدامه لمنع إغراق المطورين بالإشعارات. استخدمه للأخطاء الجسيمة مثل فشل الدفع أو فشل استعلام قاعدة البيانات. ضع كائن الخطأ في وظيفة التنبيه وأضف جميع المعلومات السياقية في وظيفة التعريف. وهذا يسمح للمطورين بتصحيح الأخطاء الجسيمة بسهولة.

logger.meta({ reqBody: req.body, queryResults: results }).alert(err);

خاتمة

يضمن دمج حل التسجيل الكامل في تطبيق Node.js الخاص بك إدارة قوية للسجل وتصحيح الأخطاء بكفاءة. يوفر Errsole تخزينًا للسجلات ولوحة تحكم مدمجة وإشعارات في الوقت الفعلي، مما يجعله أداة تسجيل كاملة.

للبدء مع Errsole، تفضل بزيارة https://github.com/errsole/errsole.js.

بيان الافراج تم إعادة إنتاج هذه المقالة على: https://dev.to/errsole/creating-a-custom-logger-for-a-nodejs-application-using-errsole-6bo?1 إذا كان هناك أي انتهاك، يرجى الاتصال بـ Study_golang@163 .com لحذفه
أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3