2011-01-24 3 views
0

이전 버전의 log4net : 1.2.0.21221을 사용하고 있습니다.이전 버전의 log4net 사용 : 어떻게 RollingFileAppender를 사용합니까?

새 버전의 log4net을 사용했을 때 성공적으로 파일 첨부 프로그램을 사용할 수있었습니다.

속성을 사용 :

log4net.GlobalContext.Properties["LogName"] = string.Concat(fileName, "_", dateTimeInfo, ".log"); 

log4net.ThreadContext.Properties["Version"] = "1"; 

XmlConfigurator.Configure(); 

이런 일들은 log4net의 이전 버전에서 사용할 수 없습니다. 구성 파일에 정의 된 롤링 파일 appender를 사용하려면 어떻게해야합니까? 내 응용 프로그램을 시작할 때마다 config 파일에 대한 새로운 이름이 필요합니다.

답변

1

파일 이름을 올바르게 지정하기 위해 GlobalContext를 사용할 이유가 없습니다.

<appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender"> 
    <file value="FILENAME" /> 
    <appendToFile value="true" /> 
    <rollingStyle value="Date" /> 
    <staticLogFileName value="false" /> 
    <maximumFileSize value="100KB" /> 
    <lockingModel type="log4net.Appender.FileAppender+MinimalLock" /> 
    <datePattern value="-yyyyMMddhhmmss'.log'" /> 
    <layout type="log4net.Layout.PatternLayout"> 
    <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" /> 
    </layout> 
</appender> 

<file value="..." />이 파일 이름의 첫 번째 부분입니다 :

는 다음의 예를 참조하십시오. 원하는 경우 PRE 파일 이름. 조금 더 내려 보면 파일 이름의 나머지 부분 인 <datePattern value="..." />이 있습니다. 파일 속성에 넣은 값에 APPENDED가 붙습니다. 예제에서는 FILENAME-20110124090021.log이라는 파일을 출력합니다.

내 datePattern의 마지막 부분에 주목하면 작은 따옴표 '.log'가 큰 따옴표 안에 들어 있으며 datetime 호출에 의해 평가되는 모든 값을 단순히 이스케이프합니다.

+0

하지만 pls는이 로그 파일의 경로를 알려줍니다 ... oi가 로그 파일의 경로를 설정할 수 있습니다 .. – Sandepku

+0

upls는 샘플 코드를 제공하여이를 수행 할 수 없습니다. 달성 할 수 없습니다. 같은 .. 감사 – Sandepku

+0

로그 파일은 실행 파일과 동일한 위치에 출력됩니다. 그 파일을 C : \ LOGS와 같은 곳에 출력하고 싶다면 그냥 파일 값 = "C : \ Logs \ FILENAME"을 업데이트하십시오. – phillip

관련 문제