سنناقش اليوم سبب حاجة شخص ما لكتابة بديل لمسجل logging
بيثون القياسي وكيفية استخدام هذا الشيء.

انه مريض!
عندما يتعلق الأمر بتسجيل الدخول في بيثون ، يتبادر إلى الذهن على الفور.
logging
هو حل قوي ومستقر مضمن بإحكام في نظام بيثون البيئي. يمكنك استيراده عند الضرورة ، وإجراء عدة logger.exception('--')
- وهذا كل شيء ، إنه نوع من الطريقة التي يمكنك من خلالها كتابة logger.exception('--')
. وسينتهي إدخال '--'
في مجلة ما.
بعد ذلك ، عادة ما يهتم المطورون بالتحديد بالمكان الذي حصل فيه '--'
وما يحدث مع هذا السجل. يصعد المبرمجون إلى إعدادات المسجل ويبدأون في استخدام مجموعة متنوعة من الخيارات لتعليمه دفع السجلات بشكل صحيح إلى الملفات وقواعد البيانات وجامعي الأخطاء وأماكن أخرى من التخزين المحتمل لسجلات السجل.
تظهر الأشكال المختلطة للمسجل ، والتي تبدأ بعبارة مرهقة ، ولكنها مفهومة أكثر أو أقل:
LOGGER_CONFIG = { "version": 1, "disable_existing_loggers": False, "formatters": { "simple": { "format": "%(asctime)s - %(name)s - %(levelname)s - %(message)s" } }, "handlers": { "console": { "class": "logging.StreamHandler", "level": "DEBUG", "formatter": "simple", "stream": "ext://sys.stdout" }, }, "root": { "level": "INFO", "handlers": ["console"] } }
هذه التكوينات تتطور بسرعة نحو شيء أكثر عسر الهضم. يعد التكوين الذي تم تكوينه عادةً logging
، مع مستويات مختلفة من التسجيل وجامعي الرسائل المختلفة وتدوير ملفات السجل ، جزءًا كبيرًا من النص يصعب بالفعل البحث فيه.
لا تؤذي وحتى ممتعة
مرة واحدة سئمت أخيرًا المبرمجين من الحفر (وارتكاب الأخطاء) في خيارات التكوين العديدة logging
. كتب هؤلاء المهندسين مسجلهم الخاص ، بسيط للغاية وقوي للغاية في نفس الوقت. وهذا ما يسمى Loguru .
وهنا عرض توضيحي لهذه المكتبة ، وهو يوضح بشكل شامل كيف يمكن إعداد تسجيل الدخول في تطبيقك القوي في سطرين.

لماذا يجب أن تفكر في loguru
كبديل logging
؟
- البساطة. حول هذا ، لقد سبق أن قلت أعلاه ، لكنني سأقولها مرة أخرى - تكوين
loguru
بشكل صحيح أسهل من logging
. - مسح طرق لتكوين تناوب ملف السجل وأرشفة السجلات القديمة.
- يتم تضمين أكوام من البطاريات بالفعل في المربع - ألوان الرسائل ، والتنسيق ، وإرسال إشعارات الفشل إلى البريد الإلكتروني ، ومكالمات استدعاء الوظائف جنبًا إلى جنب مع تقارير الأعطال والعديد من وسائل الراحة اللطيفة الأخرى.
- وبالطبع ، عدم التزامن! نعم ، إن عالم بيثون يمضي إلى أبعد من ذلك نحو التزامن / الانتظار ، وهذا التحول التكتوني لجميع البرامج المتعطشة للسلطة يتطلب بوضوح قطعًا غير متزامن.
بالطبع ، عليك أن تدفع ثمن كل شيء. لاستخدام loguru
أن تدفع شيئين:
- ليبا صغيرة نسبياً وقد تكون هناك مفاجآت.
- يعد المؤلفون بالتوافق التام مع
logging
، ولكن قد تواجه مشكلات في توصيل loguru
مع مكتبات الطرف الثالث logging
. على سبيل المثال ، عند إرفاق معالجات Sentry أو Airbrake.
على الرغم من هذه الصعوبات المحتملة ، يستحق loguru
أن يتم اختباره بعناية وتقييده بالفعل في مشروعك التالي.