2009-03-05 4 views
62

나는 나의 로그 파일이 같은 것을보고 싶지 : 2009-02-13.logLog4Net : 롤링 파일 펜더, 정의 확장

을하지만 문제는 내가 추가 할 수있는 방법을 찾을 수가 없어 수 있다는 것입니다 .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> 

답변

53

시도가과 같이 날짜 패턴에 .LOG 확장자를 추가하고 파일 속성에서 제거합니다.

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

또한 기억 를 추가하려면 –

8

추가 ".lo \ g"datePattern에서 특수 문자

105

다른 답변을 "g"이후 "로그"의 "g"를 탈출하여 datepattern의 끝. 이것은 잘못 아니지만, 그래서 같이 작은 따옴표로 날짜가 아닌 문자의 전체 세트를 포장하는 것을 선호 :

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

이 같은 결과를 제공하지만, 내가 관리 할 수 ​​쉽습니다. 이 방법을 사용하면 특정 문자가 datePattern의 특수 문자인지 여부를 기억할 필요가 없습니다 (목록이 길고 다양합니다). 한 문자를 잊어 버린 경우에는 파일 이름을 borking 할 위험이 없습니다. 그들은 다 잘 다스 렸습니다.

+3

나는이 방법을 선호합니다. –

+1

그럼 에 대해 가지고있는 가치는 무엇입니까? – ssmith

+2

@ssmith :'.log'를''에서 벗어나지 마세요. Log4Net은 datepattern을 파일 값에 추가하므로 이전에 파일 확장자를 사용합니다. –

4

이것은 내 로그 파일 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> 
15

log4net는 이제 (날짜 패턴 및/또는 크기 순서 번호 포함) 복합 파일 이름의 끝 부분에 .LOG 확장자를 강제 할 수있는 PreserveLogFileNameExtension 속성을 제공합니다

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

최신 버전일까요? 내 시스템에서 작동하도록 매개 변수를 가져올 수 없습니다. 나는 .log를 두 번, 즉 파일 값에서 두 번 사용하고 datePattern에서 다른 시간을 사용하지 않아도되었다. ( – Sun

+1

1.2.12에 추가되었다고 나는 믿는다. –

관련 문제