2009-03-26 3 views
1

로깅 시스템에 메시지가 들어오지 않아도 RollingFileAppender가 회전되도록 확장하려고합니다. 일반적으로 메시지가 도착하면 rollOver 메소드가 호출되고 회전을 트리거하기 위해 시간 확인이 수행됩니다.jog4j의 확장 문제 RollingFileAppender rollOver() 액세스 수준

내 버전의 RollingFileAppender는 매 x 초마다 rollOver를 호출하므로 메시지가 도착하지 않아도 회전이 보장됩니다.

이제 내 문제는 RollingFileAppender의 rollOver에 수정 자의 액세스 수준 수정자가 있다는 것입니다. 따라서 나는 그것을 원하는 모든 x 초마다 호출 할 수 없습니다. 가 더 변경 용을 필요로하지 않으며 내 패키지로 클래스를 가져 롤오버를 부르기로 결정 이유

/** 
    Rollover the current file to a new file. 
    */ 
    void rollOver() throws IOException { 

지금 내가 알아낼 수 없습니다 코드를 찾고 있습니다.

이제 rollOver를 호출하려면 다른 대안이 있습니까?

+0

어떤 버전의 log4j를 사용하십니까? 1.2.14와 1.2.15에서 공개됩니다. –

+0

1.2.15 소스 코드에서 위의 코드를 붙여 넣었습니다 –

답변

1

물론 리플렉션을 사용하여 수행 할 수 있습니다. 트렁크에서 또는 태그 1.2.15에서 추출

소스 코드 : 우리는 같은 일에 대해 svn at apache

public // synchronization not necessary since doAppend is alreasy synched 
void rollOver() { 
    File target; 
    ... 

을 말하는가 : log4j에-1.2.15?

+0

감사합니다. Matthieu 살펴 보겠습니다. –

관련 문제