Elmah إضافة رسالة إلى خطأ تم تسجيله من خلال استدعاء لرفع (هـ)
-
26-09-2019 - |
سؤال
أنا مرتبك بعض الشيء في كيفية إضافة رسالة إلى خطأ تم تسجيله برمجيًا مع Elmah.
على سبيل المثال:
public ActionResult DoSomething(int id)
{
try { ... }
catch (Exception e)
{
// I want to include the 'id' param value here, and maybe some
// other stuff, but how?
ErrorSignal.FromCurrentContext().Raise(e);
}
}
يبدو أن كل ما يمكن أن يفعله Elmah هو تسجيل الاستثناء الخام ، كيف يمكنني أيضًا تسجيل معلومات التصحيح الخاصة بي؟
المحلول
يمكنك إلقاء استثناء جديد إعداد الأصل كاستثناء داخلي وسيقوم Elmah بتسجيل الرسائل لكليهما:
catch(Exception e)
{
Exception ex = new Exception("ID = 1", e);
ErrorSignal.FromCurrentContext().Raise(ex);
}
سيظهر
System.Exception: ID = 1 ---> System.NullReferenceException: Object reference not set to an instance of an object.
نصائح أخرى
لقد وجدت أنه يمكنني أيضًا فعل شيء مثل:
Elmah.ErrorSignal.FromCurrentContext().Raise(new NotImplementedException("class FbCallback.Page_Load() Request.Url= " + Request.Url));
لتسجيل رسائلي الخاصة. ثم عندما أتصفح
http://localhost:5050/elmah.axd
أرى رسائلي على أنها نوع notimplementedException. ليست جميلة جدا ولكن تعمل.
لا تنتمي إلى StackOverflow