Elmah добавить сообщение об ошибке, записанное по телефону, чтобы поднять(е)
Я немного запутался в том, как добавить сообщение к ошибке, зарегистрированной программно с помощью 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, - это записать необработанное исключение, как я могу также записать свою собственную отладочную информацию?
2 ответа:
Вы можете создать новое исключение, установив исходное как внутреннее исключение, и 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. Не очень красиво, но работает.