Twiggy

البرمجيات قطة:
Twiggy
تفاصيل البرنامج:
الإصدار: 0.4.4
تاريخ إيداع: 11 May 15
المطور: Peter Fein
ترخيص: حرر
شعبية: 6

Rating: nan/5 (Total Votes: 0)

الباندا هو مشروع المرحلة الأولى لإنشاء حزمة تسجيل Pythonic أكثر.
الاستعمال:
جعل العمل عرض:
>>> SYS الاستيراد؛ sys.stderr = sys.stdout
الإعداد بسيطة
في main.py الخاص بك:
>>> الباندا استيراد
>>> twiggy.quick_setup ()
تسجيل الرسائل
>>> من الباندا استيراد *
الواجهة الرئيسية هي سجل السحر:
>>> سجل #doctest: + القطع

وهي تعمل من خارج منطقة الجزاء، وذلك باستخدام مستويات القياسية:
>>> log.debug ('قد لا أهتم')
التصحيح: قد لا يهتم
>>> log.error ('OMFG! سروال على النار!')
خطأ: OMFG! السراويل على النار!
وهو يدعم مجموعة متنوعة من سلاسل الشكل، المتعثرين إلى نمط جديد:
>>> log.info ('أنا أرتدي {0} في بلدي {حيث}'، 'السراويل، حيث =' الساقين ')
INFO: أنا ارتداء السراويل على ساقي
الطراز القديم يعمل بشكل جيد على الرغم من:
>>> log.options (نمط = 'في المئة). المعلومات (' أنا أحب٪ ق '، "الدراجات")
INFO: أنا أحب الدراجات
كما تفعل قوالب:
>>> log.options (نمط = 'الدولار'). معلومات ('$ ما قتل "، ما =' سيارات ')
INFO: سيارات تقتل
يمكنك تسمية قطع الاشجار الخاص بك:
>>> mylog = log.name ('ألفريدو')
>>> mylog.debug ('مرحبا')
التصحيح: ألفريدو: مرحبا
لكن الاسم لا علاقة له الكائن؛ انها مجرد للاستخدام البشري:
>>> mylog هو log.name ('ألفريدو')
زائف
الباعثة للرسائل
تقترن بواعث بتساهل:
>>> twiggy.emitters #doctest: + القطع
{'*': }
يمكنك تعيين min_level على بواعث:
>>> twiggy.emitters ['*']. min_level = twiggy.Levels.INFO
>>> log.debug ("تعليمات، مساعدة أنا يجري قمعها")
>>> log.info ("أنا لم يمت تماما بعد")
INFO: أنا لم يمت تماما بعد
يمكنك تصفية على regexes، أو مع وظائف التعسفية:
>>> twiggy.emitters ['*']. فلتر = ". * السراويل. *"
>>> log.info ("حصلت على {0} في"، "السراويل")
INFO: حصلت على سروالي
>>> log.info ("حصلت على {0} في"، "قميص")
دعونا إعادة جميع ما يلي:
>>> twiggy.emitters ['*']. فلتر = صحيح
>>> twiggy.emitters ['*']. min_level = twiggy.Levels.DEBUG
أفضل إخراج
وقمعت أسطر جديدة افتراضيا؛ يمكن إيقاف كل رسالة:
>>> log.info ('المستخدم ninput nannoys جامعة سنغافورة الوطنية')
INFO: المستخدم ninput nannoys جامعة سنغافورة الوطنية
>>> log.options (suppress_newlines = خطأ). معلومات ('نحن ndeal')
INFO: نحن
صفقة
تكون مسبوقة الاستثناءات. يمكن أيضا تمرير exc_info. استخدام ' ن' كما بادئة إلى أضعاف في سطر واحد:
>>> محاولة:
... 1/0
... ما عدا:
... log.trace ('خطأ') تحذير ('يا اللاءات') #doctest: + القطع
تحذير: يا اللاءات
TRACE Traceback (معظم المكالمات الأخيرة الأخيرة):
TRACE ملف ""، سطر 2، في
TRACE 1/0
TRACE ZeroDivisionError: قسمة عدد صحيح أو مودولو التي كتبها zero
طريقة التقييد
أنا أحب هذا النمط بالسلاسل الكثير.
>>> log.name ('بينيتو'). المعلومات ('مرحبا هناك)
INFO: بينيتو: مرحبا هناك
يجعل تسجيل منظم سهل:
>>> log.fields (مسارات = 42). معلومات ('الذهاب للنزهة')
INFO: مسارات = 42: الذهاب للنزهة
قطع قصيرة. كبيرة لجمع إحصاءات وقت التشغيل.
>>> log.struct (مسارات = 42، الدلافين = 'شاكرين')
INFO: الدلافين = بالشكر: مسارات = 42:
ملزمة جزئية يمكن أن تكون مفيدة لwebapps:
>>> per_request_log = log.fields (request_id = '12345')
>>> per_request_log.fields (الصفوف = 100، المستخدم = 'صريحة'). المعلومات ('frobnicating قاعدة البيانات')
INFO: request_id = 12345: الصفوف = 100: المستخدم = صريحة: قاعدة بيانات frobnicating
>>> per_request_log.fields (بايت = 5678). معلومات ('إرسال الصفحة عبر أنابيب')
INFO: بايت = 5678: request_id = 12345: إرسال الصفحة عبر أنابيب
أسلوب بالسلاسل رائع:
>>> ('مثير' السراويل =). معلومات log.name ('donjuan'). المجالات ("مرحبا، {الذي} يريدون {ما}؟"، الذي = 'السيدات'، ما = 'الرقص')
INFO: donjuan: السراويل = مثير: مرحبا، أيها السيدات ترغب في الرقص؟
دينامية!
ويطلق أية وظائف في وسائط / الحقول وقيمة substitued:
>>> السراج استيراد
>>> من twiggy.lib thread_name استيراد
>>> thread_name ()
'MainThread "
>>> log.fields (PID = os.getpid). معلومات ("أنا في موضوع {0}"، thread_name) #doctest: + القطع
INFO: معرف المنتج = 1076: أنا في موضوع MainThread
هذا يمكن أن يكون مفيدا مع قطع الاشجار ملزمة جزئيا، والتي تتيح لنا من القيام ببعض الاشياء باردة:
>>> ThreadTracker فئة (كائن):
... مواطنه __init __ (النفس، الكائنات):
... النفس .__ الكائنات = الكائنات
... # ومسجل ملزمة جزئيا
... النفس .__ تسجيل = log.name ("تعقب"). المجالات (obj_id = معرف (الكائنات)، موضوع = thread_name)
... النفس .__ log.debug ("بدأت تتبع")
... مواطنه __getattr __ (النفس، ATTR):
... النفس .__ log.debug ("الوصول {0}"، ATTR)
... عودة getattr (النفس .__ الكائنات، ATTR)
...
>>> الطبقة بانش (كائن):
... تمر
...
>>> فو = بانش ()
>>> foo.bar = 42
>>> تعقب = ThreadTracker (فو)
التصحيح: تعقب: obj_id = 14063980: موضوع = MainThread: بدأت تتبع
>>> tracked.bar
التصحيح: تعقب: obj_id = 14063980: موضوع = MainThread: شريط الوصول
42
>>> خيوط استيراد
>>> ر = threading.Thread (الهدف = امدا: tracked.bar * 2، واسم = "TheDoubler")
>>> t.start ()
التصحيح: تعقب: obj_id = 14063980: موضوع = TheDoubler: شريط الوصول
إذا كنت تريد حقا أن تسجيل واستدعاء، repr () أو التفاف عليه في امدا.
تحسينات
باعتبارها الأمثل، ويمكن تعيين min_level على قطع الاشجار:
>>> mylog.min_level = twiggy.Levels.INFO
>>> mylog.info ("أنت ترى هذا")
INFO: ألفريدو: أنت ترى هذا
>>> mylog.debug ("هذا هو مخفي")
كما أنها تأخذ التصفية التي تعمل على format_spec. حالة استخدام واغلاق بكفاءة عن طريق الرسائل الخاصة في المكتبة التي يتم القيام بشيء غبي:
>>> mylog.filter = امدا الصورة: "الخدع" ليست في الصورة
>>> mylog.info ("ابتداء من سخف")
INFO: ألفريدو: سخافة ابتداء من
>>> لأنني في xrange (3): # لقيم كبيرة من 3
... mylog.info ("أدعو الاشكالات!")
>>> mylog.info ("وضع حد السخف")
INFO: ألفريدو: نهاية سخافة

المتطلبات:

بيثون

البرامج الأخرى من المطور Peter Fein

Petapass
Petapass

11 May 15

Twiggy
Twiggy

12 Apr 15

تعليقات ل Twiggy

لم يتم العثور على التعليقات
إضافة تعليق
بدوره على الصور!