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
這是我如何加載我logger.conf:
QString log_path = qApp->applicationDirPath() + "/log";
QDir().mkpath(log_path);
PropertyConfigurator logger(L"configs/logger.conf", Logger::getDefaultHierarchy());
logger.configure();
每當我想記錄,我用的是以下行:
Logger::getInstance(L"DEVELOPER").log(INFO_LOG_LEVEL, L"..............");
我想知道兩件事:
如何告訴Log4Cplus壓縮備份日誌?
在一些文章中,我看到了這樣的答覆:
我需要創建自己的
appender
,從RollingFileAppender
繼承,然後添加一個壓縮步驟。如果可能的話,誰能告訴我該怎麼做?我不知道如何實現這一點。
如何將模式添加到這些備份日誌的名稱?
目前,Log4Cplus讓我生氣是這樣的:
developer.log.1 developer.log.2 developer.log.3 ...
我想日期和時間添加到它。