ForHosting KIT · أدوات المطورين

ترتيب مستويات السجل حسب الشدة ومقارنتها

يسهل التعرّف على مستويات السجل، لكن ترتيبها قد يختل عند إنشاء إعدادات التصفية أو التنبيه بصورة ديناميكية.

● Betaمجاني · داخل متصفحك
استخدمها من الويبAPIالبريدTelegramالتطبيق قريبًا

تطبّق هذه الإمكانية التسلسل المتعارف عليه من trace إلى fatal، وترتّب القائمة التي تقدمها، وتقارن مستويين مسمّيين ضمن الطلب نفسه. وهي تعيد الأسماء بعد توحيدها بأحرف صغيرة، والترتيب المرجعي الكامل، وعلاقة صريحة مناسبة للبرامج النصية والاختبارات ولوحات المتابعة وأدوات التوثيق. ويؤدي أي اسم غير معروف إلى خطأ واضح بدلاً من تخمين معناه أو وضعه بصمت عند أحد طرفي النتيجة.

استخدم مقياساً موحداً ومتعارفاً عليه للشدة

تستخدم الإمكانية الترتيب التصاعدي المعروف trace, debug, info, warn, error, fatal. يشير trace إلى أكثر أحداث التشخيص تفصيلاً، بينما يشير fatal إلى أعطال خطيرة قد توقف العملية أو تجعلها غير قابلة للاستخدام. ضع المستويات التي وجدتها فعلياً في مصفوفة <code>levels</code>. تتضمن النتيجة <code>sorted_levels</code> من الأقل إلى الأعلى شدة، و<code>severity_order</code> بوصفه مرجعاً كاملاً. تُحفظ القيم المكررة لأنها قد تمثل مدخلات حقيقية في إعداد أو عينة أو تقرير، ويبقى ترتيب القيم المتساوية ثابتاً. تُزال المسافات المحيطة، وتُطابق الأسماء من دون اعتبار لحالة الأحرف، ثم تُعاد بصيغتها القياسية ذات الأحرف الصغيرة. المفردات المقبولة محدودة عمداً؛ لذلك تُرفض أسماء مثل notice وverbose وwarning وcritical وemergency. تنتمي هذه الأسماء إلى أعراف أخرى ولا يمكن إدراجها في هذا المقياس ذي المستويات الستة من دون سياسة يحددها المستخدم. يجعل الرفض الصريح أخطاء الإعداد ظاهرة قبل أن تؤثر في التصفية أو الاستجابة للحوادث.

اقرأ نتيجة المقارنة بوضوح

قدّم <code>first</code> و<code>second</code> لمقارنة مستويين إلى جانب عملية الترتيب. توحّد الاستجابة كلا المعاملين وتعرض <code>relation</code> من منظور المستوى الأول. تعني <code>more_severe</code> أن الأول يأتي لاحقاً في الترتيب القياسي، وتعني <code>less_severe</code> أنه يأتي قبله، بينما تعني <code>equal</code> أن المعاملين يشيران إلى المستوى نفسه. تضيف قيمة <code>rank_difference</code> ذات الإشارة مسافة دقيقة: العدد الموجب يعني أن الأول أشد، والسالب يعني أن الثاني أشد، والصفر يعني التساوي. عند اختلاف المعاملين، يسمّي الحقل <code>more_severe</code> المستوى الأشد مباشرة، فلا يحتاج العميل إلى تكرار المقارنة. وعند التساوي يُحذف هذا الحقل بدلاً من إسناد null إليه. يلائم هذا الشكل اختبارات التحقق والأتمتة الشرطية. فمقارنة warn مع error تنتج فرقاً سالباً وتحدد error بوصفه الأشد. أما مقارنة ERROR مع error فتنتج التساوي بعد التوحيد، فتزول فروق حالة الأحرف من دون إضعاف التحقق من المفردات المسموح بها.

طبّق الترتيب بأمان في مسارات التطوير

يفيد ترتيب الشدة حيثما يلزم تحويل إعداد نصي إلى قرار لا لبس فيه. يستطيع عارض السجلات ترتيب المرشحات المختارة قبل عرضها. ويمكن لفاحص النشر التأكد من أن عتبة الإنتاج لا تقل عن warn. ويستطيع مولّد التوثيق عرض المستويات بصورة متسقة حتى إذا وردت في ملف المصدر بلا ترتيب. كما يمكن لاختبارات المراقبة مقارنة العتبة المضبوطة بالحد الأدنى المطلوب وإيقاف الإصدار قبل وصوله إلى الإنتاج. تعمل الدالة بصورة حتمية ولا ترسل طلبات شبكية، ولذلك تعطي المدخلات نفسها دائماً المخرجات نفسها في المتصفح وعبر API. تذكّر أن الأداة ترتب الأسماء فقط؛ فهي لا تحلل أسطر السجل، ولا تستنتج المستوى من محتوى الرسالة، ولا تحوّل بين أنظمة غير متوافقة مثل syslog والتسميات المخصصة. إذا كان نظامك يستخدم notice أوcritical أوpanic أوoff أو مستويات رقمية، فحوّلها وفق سياستك الموثقة قبل الاستدعاء. يمنع رفض المدخلات المجهولة أن يؤدي خطأ إملائي إلى إخفاء أحداث مهمة من دون تنبيه.

توحيد إعدادات التسجيل

رتّب المستويات المختارة في الإعداد وفق العرف وأعد أسماء متسقة بأحرف صغيرة.

فحص عتبة التنبيه

قارن المستوى المضبوط بالحد الأدنى المطلوب واستخدم العلاقة الصريحة في اختبار النشر.

إنشاء توثيق مرتب

حوّل أي قائمة من المستويات المدعومة إلى تسلسل متوقع لصفحات المراجع المنشأة.

ما ترتيب مستويات الشدة؟

من الأقل إلى الأعلى شدة: trace وdebug وinfo وwarn وerror وfatal.

هل تُقبل الأسماء المكتوبة بأحرف كبيرة؟

نعم. تُزال المسافات المحيطة، وتُهمل حالة الأحرف عند المطابقة، وتُعاد الأسماء بأحرف صغيرة قياسية.

ماذا يحدث للمستويات المكررة؟

تُحفظ القيم المكررة، وتحافظ المدخلات المتساوية على ترتيبها النسبي الأصلي.

هل يمكن استخدام warning أو critical؟

لا. الأسماء المقبولة هي trace وdebug وinfo وwarn وerror وfatal فقط؛ وتتطلب الأعراف الأخرى مطابقة صريحة يحددها المستخدم.

كيف تُفسَّر rank_difference؟

هي رتبة المستوى الأول ناقص رتبة الثاني. تعني القيمة الموجبة أن الأول أشد، والسالبة أن الثاني أشد، والصفر أنهما متساويان.

ما تكلفة طلب API؟

تبلغ تكلفة كل طلب API مقدار $0.002. ويمكن أيضاً تشغيل الإمكانية الحتمية نفسها مجاناً في المتصفح.

كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.

POSThttps://api.kit.forhosting.com/dev/log-level-severity-rank

صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.

curl -X POST https://api.kit.forhosting.com/dev/log-level-severity-rank \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"levels":["error","debug","fatal","info"],"first":"warn","second":"error"}'
{
  "levels": [
    "error",
    "debug",
    "fatal",
    "info"
  ],
  "first": "warn",
  "second": "error"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "dev.log_level_severity_rank",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.

لكل طلب$0.002

السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.

max_items1000
HTTPالرمزالمعنى
401unauthorizedمفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك.
402insufficient_balanceرصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة.
404unknown_typeنوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب.
429rate_limitedتجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة.

اطّلع على توثيق KIT الكامل ←