【问题标题】:How can I compress a log file?如何压缩日志文件?
【发布时间】:2013-12-04 06:54:50
【问题描述】:

我在我的项目中使用 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();

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

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

【问题讨论】:

    标签: c++ logging log4cplus


    【解决方案1】:

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

    【讨论】:

    • 我该怎么做?!我可以在配置文件中创建我的附加程序还是必须在代码中?!
    猜你喜欢
    • 2013-12-08
    • 2015-08-15
    • 1970-01-01
    • 2015-06-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-28
    • 2016-02-08
    相关资源
    最近更新 更多