У меня есть приложение MVC для регистрации ошибок с log4net. В моем global.asax я ломаю ошибки приложения с помощью метода Application_Error (s_log - мой менеджер журналов, который является оберткой вокруг Log4net).Как регистрировать ошибки приложения, когда customErros имеет значение On?
protected void Application_Error(Object sender, EventArgs e)
{
Exception ex = Server.GetLastError().GetBaseException();
s_log.LogException(true, ex, "Application Error");
}
Когда CustomErrors установлен в положение «Off» я получаю желтый экран смерти и может увидеть ошибку в моем файле журнала. Если для параметра customErrors установлено значение «Вкл.», Я вижу страницу с ошибкой (и подробную ошибку), но ничего не записывается в файл журнала (отладка не попадает в Application_Error).
Может кто-нибудь просветить меня, почему это происходит?
Error.aspx
<h1>Sorry, an error occurred while processing your request.</h1>
<strong>Controller: </strong> <%= Model.ControllerName %><br />
<strong>Action: </strong> <%= Model.ActionName %>
<% if (Model.Exception != null) { %>
<p>
<strong>Exception Details:</strong><br />
<%= Model.Exception.ToString() %>
</p>
<% } %>
CustomErrors участок в web.config
<customErrors mode="On" defaultRedirect="~/error">
<error statusCode="403" redirect="~/error"/>
<error statusCode="404" redirect="~/error"/>
</customErrors>