如何压缩日志文件



我在项目中使用log4cplus进行日志记录。我创建了logger.conf,并将在应用程序开始时加载它。

这是我的记录器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();

正如您所看到的,每当我的日志达到3MB时,Log4Cplus都会进行备份(developer.log.1到developer.log.10)

我如何告诉Log4Cplus压缩它创建的备份(在我的配置文件中)?

我不确定,但我认为您不能在配置文件中指定。一种方法是创建自己的appender,从RollingFileAppender继承,然后在复制后添加一个压缩步骤。

最新更新