PDA

View Full Version : سوال: ایجاد Error Log



lord_viper
جمعه 08 اردیبهشت 1391, 14:19 عصر
برای ایجاد یک Error Log در یک پروژه از یک فایل cvs یا متنی استفاده بشه بهتره یا یک جدول بسازم و ارورها رو در بانک نگهداری کنم؟
وبسایت بر پایه کاربرها هست و ممکنه فعالیتهاشون هم در طول روز زیاد باشه
میخواهم کلیه ارورها ثبت بشه(اگه 2 خطا همزمان اتفاق افتاد هر 2 ثبت بشن)
من از معماری چند لایه استفاده میکنم و ثبت خطاهایی که از طرف sql server میاد و در لایه Dal اتفاق می افته برام اهمیت داره
اگر بنا بر ثبت ارورها در بانک باشه میتونم از لایه Dal درکلاس error استفاده کنم یا نه؟

d_derakhshani
شنبه 09 اردیبهشت 1391, 10:54 صبح
بهترین روش ثبت خطاها از طریق Application_Error در فایل global.asax هست. بهتره در فایل با فرمت مورد نظر تون ثبت بشه برای اینکه ممکنه خطا اصلا در مورد وصل نشدن به خود data base باشه. اصولا برای Error Log از دیتابیس استفاده نمیشه. اما در عوضش Action Log هاتون رو در دیتابیس ثبت کنید

Saman Hashemi
شنبه 09 اردیبهشت 1391, 13:55 عصر
البته برای اینکار شیوه های زیادی هست مثل ELMAH (http://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=4&ved=0CEcQFjAD&url=http%3A%2F%2Fwww.hanselman.com%2Fblog%2FELMAHE rrorLoggingModulesAndHandlersForASPNETAndMVCToo.as px&ei=jqubT8_cJ_P06AHs6ciRDw&usg=AFQjCNH4BQkp6dw0CoQaDvi4Baz2HOqEdQ&sig2=hACONr5f89CbX4OKOPZXMQ)
هست که دیگه نیازی به پیاده سازی مجدد نیست،فکر کنم اگر از فایل global استفاده کنید فقط به خود خطا برسید و نتونید تابع و صفحه خطا بدست بیارید این موردها در پروژهای بزرگ خیلی مهمه...!

d_derakhshani
شنبه 09 اردیبهشت 1391, 14:27 عصر
البته برای اینکار شیوه های زیادی هست مثل ELMAH (http://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=4&ved=0CEcQFjAD&url=http%3A%2F%2Fwww.hanselman.com%2Fblog%2FELMAHE rrorLoggingModulesAndHandlersForASPNETAndMVCToo.as px&ei=jqubT8_cJ_P06AHs6ciRDw&usg=AFQjCNH4BQkp6dw0CoQaDvi4Baz2HOqEdQ&sig2=hACONr5f89CbX4OKOPZXMQ)
هست که دیگه نیازی به پیاده سازی مجدد نیست،فکر کنم اگر از فایل global استفاده کنید فقط به خود خطا برسید و نتونید تابع و صفحه خطا بدست بیارید این موردها در پروژهای بزرگ خیلی مهمه...!
بله یکی از روش ها ELMAH هست یکی دیگه Log4Net که در کتاب Application Architecture Guide v2 هم بهش اشاره شده.
در مورد اینکه میشه در فایل global جزئیات خطا از جمله صفحه و خط رو پیدا کرد جواب اینکه بله.

alonemm
شنبه 09 اردیبهشت 1391, 15:19 عصر
باسلام:

در پروژه های تحت ویندوز معمولا از Event Log خود ویندوز میشه برای پیاده سازی این برنامه ها روی سرور استفاده میشه.
اما در پروژه های تحت وب اگر مایلید خودتون پیاده سازی کنید میتونید از یک فایل XML و چند متد برای ثبت و ... و 1 صفحه برای نمایش خطاها - زمان رخ دادن - علت ..... استفاده کنید و شروع به پیاده سازی کنید.