أين يجب أن أضع ملف السجل الخاص بي لتطبيق asp.net؟

StackOverflow https://stackoverflow.com/questions/6530

  •  08-06-2019
  •  | 
  •  

سؤال

لدي تطبيق ASP.NET قمنا بكتابة وحدة التسجيل الخاصة بنا له.

سؤالي هو، أين هو المكان القياسي لكتابة ملف السجل إليه؟أي.سيتم تشغيل موقع الويب كهوية مستخدم مجهولة (على سبيل المثال.IUSR على IIS7) وأحتاج إلى مكان أعلم أنه سيكون لديه الإذن بالكتابة إليه.

هتافات،

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

المحلول

مجلد App_Data على جذر المشروع.ولا يتم تقديمه لطلبات الويب؛حتى لا يتمكن الآخرون من التطفل عليه.

نصائح أخرى

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

على أية حال، سيتعين عليك منح حساب "خدمة الشبكة" أذونات "تعديل" للمجلد المطلوب.

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

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

لذا سأستخدم حاليًا مجلد CommonApplicationData.

  • في نظام التشغيل Vista/Server 2008، هذا هو C:\ProgramData\
  • في XP/Server 2003، هذا هو C:\Documents and Settings\All Users\Application Data\

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

إذا كان لديك موقع ويب، فمن الواضح أن لديك مجلدًا في مكان ما.هل لا يمكنك إضافة مجلد فرعي (غير مواجه للويب)؟يبدو أن هذا سيكون مكانًا أكثر ملاءمة لوضع سجلاتك بدلاً من تفريغها في مجلد عام مشترك.

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

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

هناك خيار آخر لإجراء التسجيل وهو استخدام بعض أطر العمل الموجودة مثل Log4net.

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