참고 사이트
Log All Asp.Net MVC Errors
ASP.NET MVC의 필터 기능을 사용해서 웹 어플이케이션 내의 모든 예외를 한 곳에서 처리 하도록 설정합니다.
App_Start/FilterConfig.cs
using log4net;
public class FilterConfig
{
public static void RegisterGlobalFilters(GlobalFilterCollection filters, ILog logger)
{
filters.Add(new HandleErrorAttribute());
filters.Add(new ExceptionLoggingFilter(logger));
}
}
ExceptionLoggingFilter.cs
public class ExceptionLoggingFilter : IExceptionFilter
{
private readonly ILog _logger;
public ExceptionLoggingFilter(ILog logger)
{
_logger = logger;
}
public virtual void OnException(ExceptionContext filterContext)
{
_logger.Error(filterContext.Exception);
}
public interface IExceptionFilter
{
void OnException(ExceptionContext filterContext);
}
}
Global.asax.cs
protected void Application_Start()
{
XmlConfigurator.Configure();
ILog logger = LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
AreaRegistration.RegisterAllAreas();
FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters, logger);
// other registration
}
에러 발생후에 표시하는 화면을 설정(Global.asax.cs)
protected void Application_Error(object sender, EventArgs e)
{
Exception ex = Server.GetLastError();
if (ex is HttpException)
{
// 404에러
}
else if (ex is InvalidOperationException)
{
// 부적절한 호출시
}
}
'개발 > ASP.NET' 카테고리의 다른 글
ASP.NET MVC : ModelState의 에러 메세지 리스트를 취득해서 Json으로 반환시키기 (0) | 2019.01.24 |
---|---|
C# 자동 구현 속성(auto-property) (0) | 2019.01.24 |
ASP.NET MVC : Url에 점 "."을 포함한 문자열을 허용시키기 (0) | 2019.01.24 |
업무용 콘솔 응용 프로그램을 처음부터 만들 때의 주의점 (0) | 2019.01.24 |
ASP.NET MVC : 파일 다운로드의 callback 설정하기 (0) | 2019.01.24 |
댓글