2016-10-06 3 views
0

Я использовал ELAMH 1.2 для регистрации ошибок в MVC 5. Он хорошо работает для 404 500 ... Ошибки HTTP и блоки блокировки контроллера.Руководство Elmah Logging dosnt работает должным образом в MVC

public ActionResult Index() 
    { 
     Elmah.ErrorSignal.FromCurrentContext().Raise(new Exception("test")); 
     try 
     { 
      var a = 0; 
      var b = 1/a; 
     } 
     catch(Exception e) 
     { 
      Elmah.ErrorSignal.FromCurrentContext().Raise(e); 
     } 
     return View(); 
    } 

Для этого кода я получу два журнала. , но он работает в статическом классе, как показано ниже. Я не получаю никаких исключений во время работы ErrorSignal.FromCurrentContext().Raise(e);.

public static class FileUtility 
{ 
    public static string SaveSampleFile(HttpPostedFileBase file) 
    { 
     try 
     { 

      var b = 0; 
      var a = 1/b; 
     } 
     catch (Exception e) 
     { 
      ErrorSignal.FromCurrentContext().Raise(e); 
      return null; 
     } 
    } 

} 

журнала ошибок не произошло!

ответ

1

Я также видел эту проблему при вызове регистратора ELMAH без каких-либо HttpContext в проектах библиотеки классов.

Я использовал старый ручной способ обойти это:

Elmah.ErrorLog.GetDefault(null).Log(new Error(ex));