2015-02-06 1 views
0

log4j2를 사용하는 java 프로젝트에서 log4net을 사용하여 이전 프로젝트에서 사용한 것과 동일한 로깅을 설정하려고합니다.log4net에서 log4j로 전환 2

log4j2에서 수행하는 방법을 알아낼 수없는 몇 가지 사항이 있습니다.

어떻게하면 log4j2 appender가 현재 날짜를 로그 파일에 저장하고 매일 새로운 로그 파일을 만들 수 있습니까? TimeBasedTriggeringPolicy를 사용하려고 시도했는데 이전 로그의 이름에 날짜를 넣을 수 있었지만 현재 날짜에는 날짜가 표시되지 않았습니다. 나는 fileName에서 % d {yyyyMMdd}를 사용했지만 사용하지 못했습니다. log4j2에서 datePattern과 동등한가?

다음은 .NET 프로젝트의 원래 appender입니다.

<appender name="DebugRollingFileAppender" type="log4net.Appender.RollingFileAppender"> 
    <lockingModel type="log4net.Appender.FileAppender+MinimalLock" /> 
    <file value="c:\ConcertCTS\Logs\" /> 
    <appendToFile value="true" /> 
    <datePattern value="yyyyMMdd'_debug.log'" /> 
    <staticLogFileName value="false" /> 
    <encoding value="utf-8" /> 
    <maximumFileSize value="50MB" /> 
    <rollingStyle value="Composite" /> 
    <maxSizeRollBackups value="-1" /> 
    <layout type="log4net.Layout.PatternLayout"> 
     <conversionPattern value="%date{hh:mm:ss.fffzzz} [Thread: %-2thread] %-5level - %message%newline%exception" /> 
    </layout> 
</appender> 

그리고 내가 여기 log4j2를 생각해 냈습니다.

<RollingFile name="DebugRollingAppender" fileName="/EnvoyLogs/debug.log" 
     filePattern="/EnvoyLogs/%d{yyyyMMdd}_debug.%i.log"> 
     <PatternLayout> 
      <Pattern>%d [%t] %p %c{8.} %m%n</Pattern> 
     </PatternLayout> 
     <Policies> 
      <TimeBasedTriggeringPolicy /> 
      <SizeBasedTriggeringPolicy size="50 MB" /> 
     </Policies> 
     <DefaultRolloverStrategy max="100" 
      compressionLevel="0" /> 
    </RollingFile> 

나는 또한 그것이 무엇 filePattern의 % 내가 알고 내 나이가 로그에 숫자 하나를두고 있음을 싫어하지만 난 splited 때 번호가 될 로그를 필요로 멀리 넣어 싶지 않아 그들은 특정 크기를 초과합니다. 그걸로 뭔가 할 수 있을까요? 사전에

감사합니다!

답변

0

Log4j2 현재 (v 2.1) 설명 할 수 없습니다. log4j2 Jira 문제 추적기에 기능 요청을 제기하는 것이 좋습니다. 나는 처음부터 파일 이름에 날짜가 있다는 생각이 맘에 든다.

+0

감사합니다. 동의합니다. –