Я предлагаю вам либо использовать внешнюю библиотеку, как Log4Net, либо создать собственный класс библиотеки, который будет вести для вас журнал.
Еще одно предложение - использовать ExceptionFilter
, который доступен в файле MVC и записывает код регистрации в этом фильтре. Я предлагаю, потому что это не заставит вас писать код снова и снова, это следует принципу DRY.
Пример:
public class CustomExceptionFilter: FilterAttribute,
IExceptionFilter
{
public void OnException(ExceptionContext filterContext)
{
if (!filterContext.ExceptionHandled)
{
//log error here
Logger.LogException(filterContext.Exception);
//this will redirect to error page and show use logging is done
filterContext.Result = new
RedirectResult("customErrorPage.html");
filterContext.ExceptionHandled = true;
}
}
}
, чем вы можете сделать, как этот
//Over controller
[CustomExceptionFilter]
public class HomeController:Controller
{
//......
}
//Over the Action
[CustomExceptionFilter]
public ActionResult Index()
{
//.......
}
Отметьте это log4net: log4net Tutorial
что произойдет, если есть ошибка подключения к базе данных службы поддержки? tbh лучшим местом для ошибок журнала является текстовый файл на сервере приложений. – user1666620
Использовать регистратор ... как log4net, который будет регистрироваться в вашей базе данных –
@ user1666620 Будьте осторожны, требуя «лучшей» практики. Вы найдете разные мнения (особенно, когда файлы журналов заполнили файловую систему). – Richard