날짜 및 파일 크기를 기반으로 한 Log4net 롤링 파일 로그
2541 단어 logginglog4netfilelogging
로깅은 모든 애플리케이션의 중요한 부분이며 개발자는 로그에 코드를 작성하는 데 많은 시간을 할애합니다. 로깅은 애플리케이션의 모든 이벤트에 대한 추적을 생성하고 문제 및 버그를 디버깅, 식별 및 분석하는 데 도움이 되므로 중요합니다. 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
Reference
이 문제에 관하여(날짜 및 파일 크기를 기반으로 한 Log4net 롤링 파일 로그), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/rbipin/log4net-rolling-file-log-based-on-date-and-file-size-32k7텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)