2011-08-24 3 views

답변

1

아니요, 없습니다. 사실, log4j에는 이러한 결합 된 정책이 구현되어 있지 않으므로 log4cxx로 전송되지 않았습니다.

나는 한때 이러한 혼합 정책 롤링 파일 appender (log4j에서)를 작성하는 작업을 수행했습니다. 나는 FileAppender, esp를 오버라이드하여 이것을했다. 방법

// log4j 
void setFile(String fileName, boolean append, boolean bufferedIO, int bufferSize); 
// log4cxx 
void setFile(const LogString& filename, bool append1, bool bufferedIO1, size_t bufferSize1, Pool& p); 

프로세스를 다시 시작 후 적절한 로그 덩어리에 로깅을 계속하고,

// log4j 
void subAppend(LoggingEvent event); 
// log4cxx 
virtual void append(const spi::LoggingEventPtr& event, log4cxx::helpers::Pool& p); 

은 전복의 조건이 참인지 모든 로그 항목 후 테스트합니다.

log4j/cxx에서 자신의 appender를 구현하는 진정한 강력한 기능은 해당 속성을 log4j.properties에 정의하고 라이브러리에서 설정하도록 할 수 있다는 것입니다. Java에서는 리플렉션 덕분에 무료로 사용할 수 있습니다. log4cxx에서 당신은 단지 옵션 문자열을 통해 당신이 반복하여

void setOption(const LogString& option, const LogString& value); 

방법을 작성하고 필요한 초기화 작업을 수행해야합니다.

호프는 적절한시기에 도움이된다.