2016-10-06 3 views
0

ELAMH 1.2를 사용하여 MVC 5의 오류를 기록했습니다. HTTP 오류 및 컨트롤러의 catch 블록에서 404 오류가 발생합니다.MVC에서 수동 Elmah 로깅 dosnt가 제대로 작동합니다.

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(); 
    } 

이 코드에는 2 개의 로그가 있습니다. 하지만 dosent는 아래의 정적 클래스에서 작동합니다. 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

클래스 라이브러리 프로젝트에서 HttpContext없이 ELMAH 로거를 호출 할 때도이 문제가 발생했습니다.

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

나는이 문제를 얻기 위해 기존의 수동 방법을 사용
관련 문제