2013-08-28 6 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:

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

Обратите внимание, что вид Error404 имеет свой собственный контроллер и находится в своем собственном показам папке, в то время как мой взгляд Error.cshtml нет - он находится в общей папке вместе с моими макетами. Любая помощь будет оценена :)

+0

У меня такая же проблема, преуспели ли в регистрации исключения из бритвы? – GANI

ответ

1

Посмотрите на ELMAH.

Я бы сказал, продолжайте вести журнал с помощью log4net. Уже есть приложения log4net, которые будут регистрироваться в файле или базе данных. Единственная проблема здесь в том, что для ее регистрации вы должны знать, что это произошло.

Если вы добавите ELMAH в свой проект, он будет захватывать любые необработанные исключения и записывать их в файл/db/email/все, что вы настраиваете.

Этот проект имел пакеты nuget для легкой интеграции. Я не могу сказать достаточно об этом, я использую его в каждом веб-проекте, который я пишу.

Смежные вопросы