سؤال

هل هناك أي طريقة لالتقاط بيانات التتبع لتطبيق Flex الخاص بك أثناء عدم التشغيل في وضع التصحيح؟

أم أن هناك أي طريقة أخرى لإخراج معلومات التسجيل عند عدم تشغيل مصحح الأخطاء؟

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

هل كانت مفيدة؟

المحلول

أفترض أنك تتحدث عن Adobe Flex، الذي يستهدف Flash Player؟

إذا كان الأمر كذلك، فيمكنك كتابة فئة غلاف التسجيل الخاصة بك والتي تنشر رسائل السجل المرسلة إليها إلى عدة أهداف (مثل مكدس التتبع والذاكرة الداخلية بحيث يمكنك الوصول إلى السجل من داخل التطبيق وعلى سبيل المثال.أرسله إلى الخادم عندما يوافق المستخدم على إرسال تقرير خطأ).انظر أيضا إطار التسجيل المرن لشيء مثل هذا موجود بالفعل.

لقد فعلت شيئًا كهذا بالفعل - لدي فصل دراسي يسمى Log مع أساليب ثابتة مثل log(), debug(), error() إلخ.التي أستخدمها في تطبيقاتي، وتقوم هذه الفئة بإعادة توجيه جميع الرسائل المرسلة إليها إلى مكدس التتبع عبر trace(), ، في تطبيق "وحدة تحكم السجل" الذي يعمل على نفس المضيف عبر LocalConnection و/أو المقبس (من الواضح أن اتصال مأخذ التوصيل أسرع بكثير من LocalConnection) ويحفظها أيضًا محليًا في مصفوفة حتى يتمكن المستخدمون من إرسال تقارير الأخطاء مع السجل الإخراج مباشرة من داخل التطبيق.

هذا النوع من التغيير بالطبع يعني أنه سيتعين عليك ترجمة كل شيء trace() الأوامر الموجودة في التعليمات البرمجية الخاصة بك إلى مكالمات إلى نظام التسجيل، ولكن يمكن تحقيق ذلك بسهولة من خلال البحث والاستبدال في regex.

نصائح أخرى

هناك مشروع على Google Code يسمى الرعد بولت الذي يسمح لك بكتابة رسائل السجل التي ستظهر في FireBug عند تشغيل التطبيق في Firefox (على افتراض أن هذا الامتداد مثبت لديك بالطبع.)

التسجيل باستخدام هذه الأداة بسيط مثل:

import org.osflash.thunderbolt.Logger;

var myNumber: int = 5;
var myString: String = "Lorem ipsum";
Logger.error ("Logging two objects: A number typed as int and a string", myNumber, myString);

لقد استخدمت ألكون في الماضي.

http://blog.hexagonstar.com/alcon/

يمكنك تجربة XPanel من Farata Systems.هذه واجهة مستخدم Windows أصلية يمكنها عرض رسائل السجل باستخدام Flex 3 Logging API حتى لتطبيقات Flex التي تعمل في المتصفح.للأسف قاموا بإعادة تصميم موقعهم ولم يعد بإمكاني العثور عليه بعد الآن...ربما جوجل سوف تساعدك.

لقد فعلنا شيئًا مختلفًا باستخدام JavaScript.يمكن للعميل فتح صفحة "خاصة" تعرض بيانات التسجيل والتتبع باستخدام DHTML.يستدعي تطبيق Flex وظيفة JavaScript التي تخبر التطبيق بما إذا كانت هذه الصفحة مفتوحة أم لا.إذا لم يكن الأمر كذلك، فسيتم تعطيل التسجيل.إذا تم فتحه، فسيتم تمكين التسجيل ويتم إلحاق كافة بيانات السجل بهذه الصفحة.

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

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top