bboks.net™

ASP.NET에서 Log4Net 사용하기 본문

C# | ASP.NET/ASP.NET

ASP.NET에서 Log4Net 사용하기

bboks.net 2011. 11. 23. 16:39

log4net은 응용프로그램에서와 같이 ASP.NET 웹서비스에서도 로그를 남기기 위해 사용될 수 있다.log4net은 응용프로그램에서와 같이 ASP.NET 웹서비스에서도 다음의 2가지 작업만 하면 로그를 남길 수 있다.

1. Global.asax에서 로깅 환경 설정을 초기화 하는 코드 추가
2. Web.config에서 log4net 관련 설정 추가

ASP.NET 웹서비스에서는 반드시 Global.asax파일을 정의해야 하는데, 직접 asax에 또는 코드비하인드 파일에 초기화 코드가 추가되어져야 한다.

다음의 코드가 가장 일반적으로 로그 초기화에 사용되는 Global.asax파일 내용이다.

<%@ Application Language="C#" %>
<script runat="server">
private void Application_Start(Object sender, EventArgs e)
{
     log4net.Config.DOMConfigurator.Configure();
}
</script>

만약 Global.asax의 코드비하인드 파일을 사용할 거라면 Global.asax는 간단하게 다음과 같이 정의 하면되고
<%@ Application Codebehind="Global.asax.cs" Inherits="MyApp.Global" %>

다음과 같은 코드를 Global.asax.cs파일에 추가하면 된다.

namespace MyApp
{
  public class Global : System.Web.HttpApplication
  {
    /// 
    /// Called when the web application starts
    /// 
    /// who
    /// what
    protected void Application_Start(Object sender, EventArgs e)
    {
      // 응용프로그램이 로딩 될 때 로그를 초기화 함.
      log4net.Config.DOMConfigurator.Configure();
    }

  }
}



웹서비스가 로드(또는 리로드 - load or reload) 될 때 Application_Start 메쏘드가 자동으로 호출된다. 보는 바와 같이 이때 log4net환경의 초기화를 이때 수행한다.

각각의 웹서비스들이 자체 폴더(버추얼 디렉토리)를 가지고 있고 각 폴더에는 웹서비스의 설정을 위해 Web.config 파일들을 하나씩 가지고 있게 되는데 이 파일에 log4net을 위한 설정을 추가하게 된다.

log4net의 설정값을 가지고 있는 Web.config 파일의 예는 다음과 같다.



  
    


[출처] ASP.NET 에서 Log4Net 사용하기