2010-12-03 2 views
2

그래서 Log4j의 DailyRollingFileAppender을 사용하여 로그 파일을 만듭니다. 매일 또는 시간별로 새 파일을 만들 수 있으므로 정말 좋습니다. appender가 그 날을 기준으로 새 폴더를 만든 다음 시간을 기준으로 새 로그 파일을 만들 것을 요청합니다. 이것이 가능한가?Log4j 구성 : 매일 새 폴더를 만드는 방법은 무엇입니까?

다음은 현재 구성입니다 ... 현재 모든 로그 파일 (매시간 생성)을 someFolder에 덤프하도록 설정되었습니다. 나는 우리가 우리가 원하는 것을 할 수있는 "파일"PARAM에서 멋진 뭔가를 할 수 추측에는 요 : 항상 지정된 파일 이름 (에 날짜를 추가하기 때문에

<appender name="PlainFileAppender" class="org.apache.log4j.DailyRollingFileAppender"> 
     <param name="File" value="someFolder/someFileName_plain.log" /> 
     <param name="DatePattern" value=".yyyy-MM-dd-HH" /> 
      <param name="ImmediateFlush" value="true" /> 
      <layout class="org.apache.log4j.PatternLayout"> 
      <param name="ConversionPattern" 
       value="%d %-5p [%t] %c{1}: %m%n" /> 
     </layout> 
      <filter class="com.trgr.cobalt.infrastructure.logging.ClassFilter"> 
       <param name="classNameFilter" value="com.trgr.cobalt.infrastructure.logging.LogRecord" /> 
       <param name="acceptOnMatch" value="false" /> 
       <param name="neutrality" value="true" /> 
      </filter> 
    </appender> 

답변

4

이, 그 펜더 할 수 없기 때문에 당신은 할 수 없습니다 결과를 얻기 위해 특별한 파일 이름을 지정하십시오.) 멋진 데이트 패턴을 지정해도 누락 된 디렉토리를 작성하지 않습니다.

독자적으로 appender를 작성하거나 어딘가에 이러한 맞춤 log4j appender를 찾을 수 있습니다. Log4j의 후계자, 로그백, has such an appender.

관련 문제