날짜 및 파일 크기를 기반으로 한 Log4net 롤링 파일 로그



로깅은 모든 애플리케이션의 중요한 부분이며 개발자는 로그에 코드를 작성하는 데 많은 시간을 할애합니다. 로깅은 애플리케이션의 모든 이벤트에 대한 추적을 생성하고 문제 및 버그를 디버깅, 식별 및 분석하는 데 도움이 되므로 중요합니다. Log4net은 애플리케이션에서 출력을 로깅하기 위한 오픈 소스 프레임워크입니다. 애플리케이션 프레임워크는 Apache 라이선스 버전 2.0으로 출시됩니다. Log4net은 여러 유형의 로깅 기술을 제공합니다.

오늘 논의할 내용은 내 프로젝트 중 하나에서 구현하려는 요구 사항에 대해 log4net을 구성하는 방법입니다. 요구 사항은 날짜 및 파일 크기를 기반으로 롤링 로그 시스템을 구현하는 것이었습니다. 즉, 매일 새 로그 파일을 생성하고 파일 크기가 특정 크기를 초과하면 새 파일을 생성해야 하는 파일 로깅을 구현하고 싶었습니다.

이를 위해 appender 유형에 "RollingFileAppender"를 사용했습니다. 구성에서 중요한 매개변수에 대해 논의해 보겠습니다.

  • PreserveLogFileNameExtension – 이 매개변수는 롤링 중에 로그 파일의 파일 확장자를 보존해야 하는지 여부를 나타냅니다.

  • rollingStyle – 로그에 사용할 롤링 기준, 로그의 날짜와 크기를 기준으로 롤링하는 데 Composite를 사용했습니다.

  • datePattern – 로그 파일 이름에 추가할 날짜 패턴으로 _MMddyyyy로 구성했습니다.

  • maxSizeRollBackups – 롤링 중에 삭제하기 전에 보관할 최대 로그 파일 수입니다.

  • maximumFileSize – 로그 파일이 새 파일로 롤백되기 전의 최대 로그 파일 크기입니다.

  • staticLogFileName – 항상 같은 파일에 로그인할지 여부를 나타내며 저는 이것을 true로 설정했습니다.

  • 구성 요소가 구성 파일에서 매개변수를 읽도록 합니다. 다음 코드를 추가합니다.

    XmlConfigurator.Configure();
    or
    [assembly: log4net.Config.XmlConfigurator(Watch=false)]
    
    


    구성에 사용되는 매개변수는 다음과 같습니다.

    <log4net>
      <appender name="RollingLogFile" type="log4net.Appender.RollingFileAppender">
        <file value="log.log" />
        <PreserveLogFileNameExtension value="true"/>
        <appendToFile value="false" />
        <rollingStyle value="Composite"/>
        <datePattern value="_MMddyyyy"/>
        <maxSizeRollBackups value="2"/>
        <maximumFileSize value="10KB"/>
        <staticLogFileName value="true" />
        <layout type="log4net.Layout.PatternLayout">
          <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
        </layout>
      </appender>
      <root>
        <appender-ref ref="RollingLogFile" />
      </root>
    </log4net>
    
    


    롤링 로그를 테스트하는 데 사용되는 구성 및 코드가 있는 샘플 코드는 아래 저장소에서 사용할 수 있습니다.
    샘플 코드: https://github.com/rbipin/RollingLog_Log4net

    좋은 웹페이지 즐겨찾기