Programing

Log4Net : 롤링 파일 어 펜더, 확장 정의

lottogame 2020. 11. 13. 07:40
반응형

Log4Net : 롤링 파일 어 펜더, 확장 정의


내 로그 파일이 다음과 같이 보이기를 원합니다 : 2009-02-13.log

하지만 문제는 .log 확장자를 추가하는 방법을 찾을 수 없다는 것입니다.

많은 것을 시도했지만 도움이되지 않습니다. 이것이 내가 가진 것입니다.

<appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender">
    <file value="Logs/Log4Net/.log"/>
    <appendToFile value="true"/>
    <rollingStyle value="Date"/>
    <datePattern value="yyyy-MM-dd" />
    <layout type="log4net.Layout.PatternLayout">
      <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline"/>
    </layout>
</appender>

.log 확장자를 날짜 패턴에 추가하고 파일 속성에서 제거하십시오.

<datePattern value="yyyy-MM-dd.lo\g"/>
...
<staticLogFileName value="false" />

다른 답변은 "g"가 datePattern의 특수 문자이기 때문에 "log"에서 "g"를 이스케이프합니다. 이것은 잘못된 것은 아니지만 다음과 같이 날짜가 아닌 문자 전체를 작은 따옴표로 묶는 것을 선호합니다.

<datePattern value="yyyy-MM-dd'.log'" />

이것은 동일한 결과를 제공하지만 관리하기가 더 쉽습니다. 이렇게하면 어떤 특정 문자가 datePattern에 대해 특별한 지 기억할 필요가 없습니다 (목록은 길고 다양합니다). 한 문자를 잊어 버리면 파일 이름을 지루하게 만들 위험이 없습니다. 그들은 모두 멋지게 한꺼번에 탈출했습니다.


log4net은 이제 PreserveLogFileNameExtension.log 확장자를 복합 파일 이름 (날짜 패턴 및 / 또는 크기 시퀀스 번호 포함) 끝에 강제로 지정할 수 있는 속성 도 제공합니다 .

<file value="LogFiles/.log"/>
<preserveLogFileNameExtension value="true" />
<datePattern value="yyyy-MM-dd" />

datepattern 끝에 ".lo \ g"를 추가하십시오.


이것은 내 로그 파일 xml 구성입니다. 로그 파일의 경로는 "file"태그에 있습니다.

그러면 내 웹 사이트의 경로 폴더에있는 "LogFiles"폴더 아래에 "2012-11-22.log"로그 파일이 생성됩니다.

참고 : 먼저 폴더가 있는지 확인하십시오!

<?xml version="1.0"?>
<configuration>
  <configSections>
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,     log4net"/>
  </configSections>
  <log4net>
    <root>
      <level value="INFO"/>
      <appender-ref ref="RollingFileAppender"/>
    </root>
    <appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender">
      <file value="LogFiles/"/>
      <appendToFile value="true"/>
      <rollingStyle value="Date"/>
      <maxSizeRollBackups value="5"/>
      <maximumFileSize value="10MB"/>
      <datePattern value="yyyy-MM-dd'.log'" />
      <staticLogFileName value="false"/>
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%date [%thread] %level %logger - %message%newline%exception"/>
      </layout>
    </appender>
  </log4net>
</configuration>

참고URL : https://stackoverflow.com/questions/615092/log4net-rolling-file-appender-define-extension

반응형