2010-05-26 3 views
0

응용 프로그램이 있으며 예외를 파일에 기록하려고하는데 코드를 변경하고 싶지 않습니다. 난 그냥 내 코드를 추가 할 수있는 구성 요소를 원한다면 예외 로깅을 시작할 것이다. 어떻게해야합니까?기존 코드를 변경하지 않고 로깅 예외

답변

2

ASP.NET에서는 사용자 지정 IHttpModule 구현을 만들 수 있으며 Init 메서드는 HttpApplication.Error에 대한 이벤트 처리기를 등록합니다. 오류 이벤트가 트리거 될 때 필요에 따라 예외를 기록하십시오.

using System; 
using System.Web; 

namespace ConsoleApplication1 
{ 
    public class ErrorLoggingModule : IHttpModule 
    { 
     public void Init(HttpApplication context) 
     { 
      context.Error += OnError; 
     } 

     private static void OnError(object sender, EventArgs e) 
     { 
      Exception ex = HttpContext.Current.Server.GetLastError(); 

      // log exception here... 
     } 

     public void Dispose() 
     {   
     } 
    } 
} 
1

ELMAH (오류 로깅 모듈 및 처리기)

완전히 플러그 인 애플리케이션 전체 오류 로깅 설비이다. ASP.NET 웹 응용 프로그램을 실행중인 에 동적으로 추가하거나 다시 컴파일 또는 다시 배포 할 필요없이 컴퓨터의 모든 ASP.NET 웹 응용 프로그램을 심지어 동적으로 추가 할 수 있습니다.

0

ASP.NET Health Monitoring은 매우 유용합니다. web.config에서 구성해야합니다.

관련 문제