C#

[C#] C#에서 Log4.net 사용 방법 (Log4net로 로그 파일 만들기)

saltdoll 2017. 12. 6. 03:08
반응형

C#  프로그램을 사용하다보면, Log를 만들어야 하는 경우가 많습니다.

아파치 프로젝트에서 개발한 Log4net를 사용하면 편리하게 사용이 가능합니다.

http://logging.apache.org/log4net

작업순서

(1) 다운로드 Binaries 파일 (.net버전별 파일들 포함) 

(2) 프로젝트에 파일 추가 (Lib폴더생성후 파일복사/또는 웹사이트의 경우 Bin폴더)

(3) log4net.dll 파일과 log4net.xml 파일을 References에 추가 합니다.

(4) App.config 에 XML설정 추가 (웹사이트 Web.config에 추가)

(5) Properties\AssemblyInfo.cs에 설정 추가

(6) 사용하기: cs 파일에 사용 선언: using log4net; using log4net.Config;



(Step - 4) App.config 에 XML설정 추가

<?xml version="1.0" encoding="utf-8" ?>

<configuration>

  <!--// log4net -->

  <configSections><!-- 가장 앞에 와야 합니다. -->

    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />

  </configSections>

  <log4net>

    <appender name="SyncLog" type="log4net.Appender.RollingFileAppender">

      <file value="./RewardSyncLog/" />

      <datepattern value="'RewardSyncLog_'yyyyMMdd'.log'" />

      <staticlogfileName value="false" />

      <appendToFile value="true" />

      <rollingStyle value="Composite" />

      <maximumFileSize value="2048KB" />

      <maxsizerollbackups value="100" />

      <layout type="log4net.Layout.PatternLayout">

        <conversionpattern value="[%date{HH:mm:ss,fff}][%level]  -  %message%newline" />

      </layout>

    </appender>

    <root>

      <appender-ref ref="SyncLog" />

    </root>

  </log4net>

  <!-- log4net //-->  

  <startup>

    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6" />

  </startup>

</configuration>


(Step - 5) Properties\AssemblyInfo.cs에 설정 추가

//log4net (가장 아래에 추가하면 됩니다.)

[assembly: log4net.Config.XmlConfigurator(Watch = true)]


(Step - 6) 사용하기

3. 로그를 사용하고 싶은 파일에서
        private static readonly ILog logger = 
            LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);

그후 logger.Debug("로그 테스트"); 추가





참고:

C#에서 log4net 사용하기: https://blog.naver.com/chcjswoda/126162822

ASP.NET 에서 Log4Net 사용하기 http://blog.naver.com/hangondragon/20008372359

반응형
도움이 되셨다면 하트모양의 "♡ 공감"을 눌러주시면 큰 격려가 됩니다.
(로그인하지 않으셔도 가능)