سجل

Sumor Cloud Tool.
مزيد من التوثيق

هذا مسجل خفيف لـ Node.JS. يمكنه إخراج السجلات في مستويات مختلفة، ويمكنك تخصيص نطاق السجلات ومُعرِفها والمنطقة الزمنية.

CI Test Coverage Audit

التثبيت

npm i @sumor/logger --save

الشروط المسبقة

إصدار Node.JS

يتطلب إصدار Node.JS 16.x أو أعلى

تتطلب إصدار Node.JS ES الوحدة

نظرًا لأن هذه الحزمة مكتوبة بتنسيق ES module، يرجى تغيير الشفرة التالية في ملف package.json الخاص بك:

{
  "type": "module"
}

الاستخدام

الاستخدام العام

import Logger from '@sumor/logger'
const logger = new Logger()

logger.trace('مرحبًا بالعالم!')
// سترى الناتج التالي:
// 2020-01-01 00:00:00.000 TRACE MAIN - مرحبًا بالعالم!

تغيير النطاق

في بعض الحالات، نحتاج إلى تصنيف السجلات. يُستخدم scope لهذا الغرض.

import Logger from '@sumor/logger'
const logger = new Logger({
  scope: 'DEMO'
})
logger.trace('مرحبًا بالعالم!')
// سترى الناتج التالي:
// 2020-01-01 00:00:00.000 TRACE DEMO - مرحبًا بالعالم!

تحديد هوية المستخدم

في بعض الحالات، نحتاج إلى تحديد هوية المستخدم. يُستخدم id لهذا الغرض.

import Logger from '@sumor/logger'
const logger = new Logger({
  id: 'USER001'
})
logger.trace('مرحبًا بالعالم!')
// سترى الناتج التالي:
// 2020-01-01 00:00:00.000 TRACE MAIN USER001 - مرحبًا بالعالم!

تغيير المستوى

في معظم الأحيان، نحتاج فقط إلى إخراج سجلات من مستوى معين. بعد ذلك يمكننا تقرير إذا كان يتعين حفظها وعرضها أم لا.

import Logger from '@sumor/logger'
const logger = new Logger()
logger.trace('مرحبًا بالعالم!') // trace هو أدنى مستوى، سيتم إخراج جميع السجلات
logger.debug('مرحبًا بالعالم!')
logger.info('مرحبًا بالعالم!')
logger.warn('مرحبًا بالعالم!')
logger.error('مرحبًا بالعالم!')
logger.fatal('مرحبًا بالعالم!') // fatal هو أعلى مستوى، سيتم إخراج فقط الأخطاء الحرجة

تغيير المنطقة الزمنية

import Logger from '@sumor/logger'
const logger1 = new Logger({
  offset: 2 * 60 // التعويض بتوقيت UTC+2 هو 2 ساعة
})
logger1.info('مرحبًا بالعالم!')
// سترى الناتج التالي:
// 2020-01-01 02:00:00.000 INFO MAIN - مرحبًا بالعالم!

const logger2 = new Logger({
  offset: 8 * 60 // التعويض بتوقيت UTC+8 هو 8 ساعات
})
logger2.info('مرحبًا بالعالم!')
// سترى الناتج التالي:
// 2020-01-01 08:00:00.000 INFO MAIN - مرحبًا بالعالم!