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 ...
我想日期和时间添加到它。