블로그 이미지
따시쿵

calendar

1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30

Notice

2015. 2. 21. 07:43 C#

log4net 을 이용한 로그파일 쓰는 예제입니다. 라이브러리 다운로드와 자세한 설명은 다음의 사이트를 이용하시면 됩니다. http://logging.apache.org/log4net/index.html


파일 이름이 날짜로 되어서 구분하는 예제를 만들었습니다.


app.config App.config


<configuration>
  <configSections>
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
  </configSections>
  
<!--log4net 설정하는 부분 시작-->    
  <log4net>    
    <appender name="LogFileAppender" type="log4net.Appender.RollingFileAppender">
      <lockingModel type="log4net.Appender.FileAppender+MinimalLock"/>
      <file value="logs\" />
      <datePattern value="yyyy-MM-dd'.log'" />
      <staticLogFileName value="false" />
      <appendToFile value="true" />
      <rollingStyle value="Date" />
      <maxSizeRollBackups value="10" />
      <maximumFileSize value="50MB" />
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%date [%thread] %-5level %logger - %message%newline" />
      </layout>
    </appender>
  
    
    <root>
      <!--LogLevel: OFF, FATAL, ERROR, WARN, INFO, DEBUG, ALL -->
      <level value="ALL" />
      <appender-ref ref="LogFileAppender" />
    </root>
  </log4net>
<!--log4net 설정하는 부분 종료--> 
  

    <startup> 
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
    </startup>
</configuration>


사용예제


            new Thread(delegate()
                {
                    for (int i = 0; i <= 100; i++)
                    {
                        Logger.WriteLog(LogLevel4N.INFO, i.ToString());
                    }
                }).Start();

            new Thread(delegate()
            {
                for (int i = 0; i <= 100; i++)
                {
                    Logger.WriteLog(LogLevel4N.DEBUG, i.ToString());
                }
            }).Start();

            new Thread(delegate()
            {
                for (int i = 0; i <= 100; i++)
                {
                    Logger.WriteLog(LogLevel4N.ERROR, i.ToString());
                }
            }).Start();

            new Thread(delegate()
            {
                for (int i = 0; i <= 100; i++)
                {
                    Logger.WriteLog(LogLevel4N.WARN, i.ToString());
                }
            }).Start();      


posted by 따시쿵