Я использую атрибут customErrors файла web.config для представления пользовательских страниц ошибок:
<customErrors mode="On" defaultRedirect="/errorpage.aspx">
<error statusCode="404" redirect="/404Page.aspx"/>
<error statusCode="403" redirect="/403page.aspx"/>
</customErrors>
Ничего особенного. Теперь я хочу записать ошибку, которая возникает при загрузке любой из этих страниц. Меня особенно интересуют любые исключения, мне все равно, на какой странице был пользователь, когда он получил 404.
Я бы хотел записать исключение и записать его в таблицу БД. Будет ли что-то вроде этой работы:
//errorpage.aspx
public void Page_Load(object sender,EventArgs e)
{
Exception objErr = Server.GetLastError().GetBaseException();
var err = new {Url = Request.Url.ToString(),
Message = objErr.Message,
Trace = objErr.StackTrace.ToString()};
db.Errors.InsertOnSubmit(err);
db.SubmitChanges();
Server.ClearError();
}
Есть ли какая-либо другая информация, которая заслуживает сбора или обычно фиксируется при ошибке?