لوبي

قطع الأشجار غير التقليدية لبيتثون
التحميل الان

لوبي الترتيب والملخص

الإعلانات

  • Rating:
  • رخصة:
  • BSD License
  • السعر:
  • FREE
  • اسم الناشر:
  • Michal Hordecki
  • موقع ويب الناشر:
  • http://github.com/MHordecki

لوبي العلامات


لوبي وصف

قطع الأشجار غير التقليدية لبثون LOGPY هو بديل للحصول على مرافق تسجيل Python القياسية، بناء على سجل LISP. يعتمد على مبادئ القبلات - لذلك أردت أن تكون أكثر شفافية قدر الإمكان. الفرق الرئيسي عند مقارنته بتسجيل Stdlib هو الهندسة المعمارية القائمة على العلامات. في التسجيل، قام كل سجل بتعيين مستوى معين (كن تصحيحا، خطأ، إلخ). هذا كل شئ. LOGPY، من ناحية أخرى، العلامات الرياضية - يمكنك إرفاق سلاسل قصيرة لكل رسالة. يمكن أن تمثل العلامة مجموعة متنوعة من الأشياء: مستوى الشدة أو اسم الوحدة النمطية، أو بعض تصنيف السجل المخصص. يتطلب Logpy Python 2.6 أو أعلى. يعمل بسلاسة على Python 3 TOO (في الواقع، تم تطويره مع PY3K في الاعتبار ثم الرجوع إلى Python 2.6). مجسمة LOGPY البديلة ميتة بسيطة: من LOGPY IMPORT LOGPYIMPORT SYSLOG = LOGPY () LOG.ADD_OUTPUT (SYS.STDERR.WOUTPUT ) سجل ("تصحيح") ("Hello World!") Voila! مثيلات LOGPY قابلة للاستدعاء. لإخراج سجل، سجل المكالمات "مرتين" - في الدعوة الأولى تمرير جميع العلامات من السجل، وسيظهر كل شيء مرت إلى المرء الثاني جزءا من الرسالة. سوف يخرج المثال السجلات إلى إخراج الأخطاء القياسي. سهل، أليس كذلك؟ تحت Hoodlogpy يحتوي على بضع طبقات من التجريد: 1. Logpy - يقبل البيانات من المستخدم، يجمع بينها في مثيل رسالة ويمرها إلى جميع المخرجات. 2. الإخراج - يقوم بتصفية الرسائل استنادا إلى بعض الشروط المحددة مسبقا، وإذا كانت الرسالة تمر جميعها، فمن المنسق بواسطة الهياكل ثم تمر إلى الإخراج الفعلي. 3. تكوين - يأخذ رسالة وتنسيقه؛) (في التنفيذ القياسي، يستخدم string.format لهذا المنصب). 4. الإخراج الفعلي - على سبيل المثال، على سبيل المثال، يخرج إخراج الصياد إلى الشاشة. جميع هذه الطبقات / الكائنات هي تصفية مهام Callables.common تصفية مخرجات متعددة، وربما تريد تصفية بعض السجلات في كل منها. هناك دعم لذلك: سجل = LOGPY () logpy () log.add_output (my_output، filter = lambda m: "خطأ" في m.tags) # يعادل: log.add_output (my_output، filter = ) كما ترون، فإن المرشحات هي الغذائية، وأخذ كائن الرسائل كوسيطة وعودة BOOL. يمكن توفير مرشحات متعددة من خلال قائمة. يمكن للتنسيق custom تخصيص التنسيق إما استبدال سلسلة التنسيق أو عن طريق استبدال كائن التنسيق تماما. STICHISTOM Format StringThis واحد سيجتمع 90 من احتياجاتك. يمكنك تغيير سلسلة التنسيق الخاصة بك مع وسيطة الكلمة الرئيسية لطريقة Add_Output لل LOGPY (ممكن أيضا عند إنشاء كائنات إخراج مثبتة مباشرة): log.add_output (...، Formatter = "سلسلة تنسيق مخصصة!") عند معالجة الرسالة، تنسيق الطريقة سيتم استدعاء السلسلة التالية، حجج محددة مسبقا: * التاريخ - كائن DateTime * العلامات - قائمة محددات الفضاء من العلامات (سلسلة) * Args - قائمة الحجج في الرسالة * Kwargs - Dict للكلمات الرئيسية - كائن الرسالة الفعلية. جميع الحجج المذكورة أعلاه هي في الواقع مجرد سكر نصني، لأنها كلها سمات من سلسلة تنسيق هذه الكائنات. تبدو سلسلة تنسيق هذا الكائن. ستبدو المنتهي، أو سجلاتك مع تعديلات متعددة يمكن أن تساعد نفسك أثناء استخدام LOGPY مع وحدات متعددة عن طريق تحديد بعض العلامات: # Modulelog الرئيسي = LOGPY () # MODELEIMPORPORT MAINMODULELOG = MAINMODULE.LOG ('الوحدة النمطية: الطيور "curry = true) # الآن: سجل (" تصحيح ") (" Hello World!! الطاقة الكاملة - يمكنك التخلص من الصيغة الافتراضية: log.add_output (...، الشكل، صيغ = my_formatter_object) يجب أن تمتثل الكائنات الهامة للبروتوكول البسيط: فئة فئة: def __call __ (الرسالة: رسالة) -> سوميتينج معقولة: رسالة passclass : Tags = set (str) args = [] # مرت من قبل المستخدم kwargs = {} # مرت بواسطة تاريخ المستخدم = dateetime.datetime (ليس لدي فكرة WH عند الإيبار إذا كان هناك تدوين رسمي قياسي لوصف البروتوكولات في ثعبان إلى جانب أشياء مثل zope.interface. آمل أن تكون التشتتذ واضحة.) حيث يوجد شيء معقول: كل ما سيتم قبوله من خلال إخراج الإخراج (أصوات كيندا سخيفة) - عادة ما يعني Str، ولكن ليس دائما. من Loc of Logpy، لا تتردد في القيام بذلك: log.add_raw_output (my_customized_output_Opject) جدير بالذكر هو حقيقة أن logpy.add_output هو مجرد التفاف ل: log.add_output (...) # مكافئ tog.add_raw_output (الإخراج (. ..). إعادة استخدامها لجميع الإخراج. توظف SafetyLogpy بعض سلامة الخيط الأساسية؛ يتم استخدام Threading.lock في طريقة __call__ للطي. يمكن استبداله بسهولة: من الخيوط استيراد ROLLOCLOG = LOGPY () LOG.LOCK.LOCK = متطلبات Rlock (): بيثون


لوبي برامج ذات صلة

bombardier_server.

إدارة تكوين المصدر المفتوح وتسليم الحزمة: مكونات الخادم المركزي ...

126

تحميل