suroMind

[C#] log4net 설정 및 사용 본문

IT분야/C#

[C#] log4net 설정 및 사용

suroMind 2011. 12. 9. 10:26


Java에서는 쓰는 로깅도구로 log4j를 많이들 쓰시는데 c#에두 log4net이라는 이름으로 나와 있군요.

1. http://logging.apache.org/log4net/index.html
   공식 사이트에서 다운 로드 받습니다.

2. 압축풀고 프로젝트에 log4net.dll을 참조시킵니다.

3. log4net.xml 이란 파일을 만들고 설정을 해야합니다.






  
  
    
      
      
    
  
  
    
    
    
    
        
    
    
      
    
  
  
    
    
    
  

날짜별로 로그가 쌓이도록 설정된 파일입니다. 하루에 한개의 파일 씩 생성됩니다. 물론 사이즈별로도 설정할 수가 있습니다만.. 자세한것은 아파치 문서를 참조바랍니다.

4. 실제 로그를 찍어 봐야겠지요?

using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows.Forms;
using log4net;
using log4net.Config;

namespace Test {
    static class Program {
        /// 
        /// 해당 응용 프로그램의 주 진입점입니다.
        /// 
        [STAThread]
        static void Main() {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);

            //로그 설정파일 읽기
            XmlConfigurator.Configure(new System.IO.FileInfo("log4net.xml"));
            Application.Run(new MainForm());
        }
    }
}
위 코드처럼 최초 실행시 xml 설정파일을 한번 읽어줍니다. using도 빼먹지 마시구요
public class A{
      protected static readonly ILog logger = 
                 LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
      public A(){
            if (logger.IsDebugEnabled) logger.Debug("Log 찍기"); 
      }
}

이 후 클래스에서는 멤버변수로 logger를 선언만 해주시고 여러 메소드에서 로그를 찍으시면 됩니다.
Comments