سؤال

لذلك ناقشنا تسجيل الدخول يمر في مكان عملي و أنا أتساءل عما إذا كان بعض من رفاق هنا يمكن أن تعطيني بعض الأفكار من يقترب ؟

عادة السيناريو هو لا تسجيل حقا في كل شيء ، في الغالب .صافي تطبيقات, winforms/WPF العملاء الحديث من خلال خدمات ويب أو مباشرة إلى db.

لذا فإن السؤال الحقيقي هو: أين أو ماذا كنت السجل ؟ في هذه اللحظة لدينا المستخدمين الإبلاغ عن رسائل الخطأ لذا أود أن نفترض سجل الشركات الناشئة/إغلاق استثناءات...

هل أعتبر أن يدعو إلى خدمات ويب أو db ؟ الصفحة الأحمال ؟

كيف يمكنك الحصول على فكرة جيدة عن ما كان المستخدم يحاول القيام به في ذلك الوقت ؟

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

أعتقد أن بعض الأسئلة ، ولكن أردت أن تحصل على أكثر من فكرة عن الممارسة الفعلية هناك في أكبر المحلات التجارية!

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

المحلول

الشيء الرئيسي للتسجيل هو التخطيط الجيد.وأود أن أقترح عليك أن ننظر إلى مكتبة المؤسسة استثناء تطبيق تسجيل كتلة (http://msdn.microsoft.com/en-us/library/cc467894.aspx).هناك قليلا من منحنى التعلم ولكنها لا تعمل بشكل جيد جدا.هذا النهج لا تؤيد في الوقت الراهن هو تحديد 4 مستويات الأولوية.4=استثناء غير معالج (خطأ في سجل الأحداث), 3=التعامل مع استثناء (تحذير في سجل الأحداث), 2=الوصول إلى الموارد الخارجية مثل خدمة ويب ، ديسيبل أو الحاسوب (نظام المعلومات في سجل الأحداث), 1=مطول/أي شيء آخر من مصلحة (المعلومات في سجل الأحداث).

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

التحديث:من أجل الوضوح ، أود أن أقترح عليك التسجيل في كل winform/wpf التطبيق الخاص بك webservices.في شبكة السيناريو كان لدي مشاكل في الماضي حيث أنه يمكن أن يكون من الصعب ربط خطأ على العميل مرة أخرى من خلال خوادم التطبيق.أساسا لأن أي خطأ من خلال webservices يحصل ملفوفة مثل الصابون استثناء.لا أستطيع أن أتذكر من على قمة رأسي ، ولكن أعتقد إذا كنت تستخدم مخصص استثناء معالج (الذي هو جزء من مكتبة المؤسسة) يمكنك إضافة البيانات على الاستثناءات مثل handlinginstance معرف استثناء من خادم التطبيق.هذا يجعل من الأسهل ربط الاستثناءات على العميل مرة أخرى إلى التطبيق الخاص بك مربع باستخدام LogParser (http://www.microsoft.com/downloads/details.aspx?FamilyID=890cd06b-abf8-4c25-91b2-f8d975cf8c07&displaylang=en).

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

نصائح أخرى

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

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

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

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

هذا المنصب على highscalability.com يوفر منظور جيد على الدخول في نطاق واسع نظام توزيع.(و من قبيل الصدفة أن يبدأ بذكر ما بعد على JoelOnSoftware).

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

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

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

معظم الأشياء التي كنت قد كتبت (يشرفوا البرامج النصية) عموما أنا فقط تصحيح وظيفة () ، وهذا يتحقق إذا --مطول هو مجموعة, يطبع الرسالة..بهذه الطريقة يمكن أن يشق التصحيح("بعض القيمة:%s" % (أفار)) عند الحاجة ، وليس من الضروري أن تقلق حول العودة وإزالة تصحيح الطباعة() البيانات everwhere.

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

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

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

نموذجية التطبيق سطح المكتب, كنت تخزين كل شيء على الدورة الحالية ، وربما مخزن معلومات الرسائل الماضي ن دورات أو x في حجم.

أنا على افتراض أن الرسائل الخاصة بك المنظمة.نستخدم 4 فئات ؛ أخطاء, تحذيرات, معلومات, و أثر.نحن ما زلنا في معرفة ما يدور في أي مستوى.كما تعودت على تحليل ملفات السجل, عموما أنا أقول "سجل أكثر".لا عرق القراءة ، وربما كنت قد ستعمل على معالجة ملف السجل قليلا قبل أن تتمكن من استخدامه.

في النهاية تجد جيدة تسجيل إطار يسمح لك التحكم في التخزين المؤقت الاستخدام على مدى الحياة و مساحة تخزين المناسبة api التي تقلل من تأثير على التعليمات البرمجية الخاصة بك.ومن الناحية المثالية كنت اكتب فقط info("waaah") أو warning("waah") و API لا يتوهم علامات بالنسبة لك.

كما إجابة سريعة أود أن أقول أن تأتي مع مجموعة من الفئات و للتحويل تسجيل مستويات, على سبيل المثالمعلومات, تحذير, خطأ, الحرجة, الخ.

ثم تجعل من السهل تعيين مستوى تسجيل الدخول إلى ضبط مستوى التفاصيل التي تحتاج إليها.عادة تعيين مستوى تسجيل الدخول في ملف التكوين و إيقاف وإعادة تشغيل التطبيق.

وأود أيضا أن تنشر على المطورين ما معنى كل من المستويات.

تحرير:وأود أيضا إعداد نظام لتدوير ، ضغط وأرشفة ملفات السجل على أساس منتظم ، ربما ليلا.

شكرا يا رفاق الكثير من المعلومات الجيدة لكن مارتن أعطاني قليلا مزيد من التفاصيل بشأن كيفية المضي قدما.سوف يعطيه الجواب كما يبدو الآن نحن خارج الجبهة الصفحات القليلة الإجابات سيتم إسقاط قبالة.

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