2013-11-20 4 views
1

로깅을 위해 내 프로젝트에서 log4cplus를 사용하고 있습니다. logger.conf를 만들었고 응용 프로그램을 시작할 때로드 할 것입니다. 여기 로그 파일을 압축하는 방법은 무엇입니까?

내 logger.conf입니다 :

log4cplus.appender.Developer=log4cplus::RollingFileAppender 
log4cplus.appender.Developer.DatePattern = ".yyyy-MM-dd" 
log4cplus.appender.Developer.Schedule = HOURLY 
log4cplus.appender.Developer.File=log/developer.log 
log4cplus.appender.Developer.MaxFileSize=3MB 
log4cplus.appender.Developer.MaxBackupIndex=10 
log4cplus.appender.Developer.layout=log4cplus::PatternLayout 
log4cplus.appender.Developer.layout.ContextPrinting=enabled 
log4cplus.appender.Developer.layout.ConversionPattern=%D{%Y-%m-%d %H:%M:%S,%Q} [%t] %p - %m%n 
log4cplus.appender.Developer.Threshold=TRACE 
log4cplus.logger.DEVELOPER=TRACE, Developer 

그리고 나는이 같은 내 코드에 내 설정 파일을로드합니다 :

QString log_path = qApp->applicationDirPath() + "/log"; 
QDir().mkpath(log_path); 
PropertyConfigurator logger(L"configs/logger.conf", Logger::getDefaultHierarchy()); 
logger.configure(); 

당신이 볼 수 있듯이, 때마다 내 로그 도달 3메가바이트, Log4Cplus 백업을 만듭니다 (developer.log.1 ~ developer.log.10).

Log4Cplus에 백업 파일을 압축하도록 (구성 파일에서) 어떻게 말 할 수 있습니까?

답변

1

확실하지 않지만 구성 파일에서 지정할 수 있다고 생각하지 않습니다. 한 가지 방법은 RollingFileAppender에서 상속받은 자신의 appender를 만든 다음 복사본 뒤에 압축 단계를 추가하는 것입니다.

+0

그리고 어떻게해야합니까?! 구성 파일에 내 appender를 만들거나 코드 안에 있어야합니까? –

+0

코드에서 그렇게해야 할 것입니다. – dutt