2013-08-28 1 views
1

나는 현재 this post 다음에 작성한 사용자 정의 오류 메시지를 사용자에게 표시합니다. 이 잘 작동하지만 로그 파일에서 이러한 오류를 실제로 어떻게 기록해야하는지 궁금합니다. 현재 로깅을 위해 log4net을 구현했습니다. 여기 보기에 예외 기록

내 템플릿입니다 :

@model System.Web.Mvc.HandleErrorInfo 

<div class="span3"></div> 
<div class="span5"> 
    <div class="well"> 
     <h3>Oops!</h3> 
     <div class="alert alert-info alert-block"> 
      <strong>An error has occurred</strong> 
      <p> 
       We have logged the incident for you. 
      Should it continue to occur, please contact support via one of the following options 
      </p> 
      <br /> 
      <p class="pull-right"><a href="mailto:[email protected]">[email protected]</a></p> 
      <address> 
       <strong>Company Inc.</strong><br> 
       Address 3<br> 
       0055 Somewhere, Country<br> 
       <abbr title="Phone">P:</abbr> 
       +47 999 99 999 
      </address> 
     </div> 

     <div class="alert alert-error alert-block"> 
      <strong>Exception details (@Model.ControllerName/@Model.ActionName)</strong> 
      <p> 
       @Model.Exception.Message 
      </p> 
     </div> 
    </div> 
</div> 

의 Web.config 다음 Error404보기는 자체 컨트롤러가 내 Error.cshtml보기 반면, 자신의보기 폴더에있는 것을

<customErrors mode="On"> 
    <error statusCode="404" redirect="~/Error404/Index" /> 
</customErrors> 

주 그렇지 않습니다 - 레이아웃과 함께 공유 폴더에 있습니다. 어떤 도움을 주시면 감사하겠습니다 :)

+0

동일한 문제가 있습니다. 면도기 뷰에서 예외를 기록하는 데 성공 했습니까? – GANI

답변

1

ELMAH을 살펴보십시오.

나는 log4net 로깅을 계속한다고 말합니다. 이미 파일이나 데이터베이스에 로그하는 log4net appender가 있습니다. 여기에서 유일한 문제는 로그하는 것이 발생했음을 알아야한다는 것입니다.

ELMAH를 프로젝트에 추가하면 처리되지 않은 모든 예외를 캡처하고 사용자가 구성한 모든 것을/db/email/파일에 기록합니다.

이 프로젝트에는 쉬운 통합을위한 누젠 패키지가 있습니다. 내가 그것에 대해 충분히 말할 수 없다, 내가 쓰는 모든 웹 프로젝트에서 그것을 사용합니다.