【发布时间】:2014-01-22 16:07:39
【问题描述】:
我正在尝试使用 Boost.Log (v1.55.0) 设置日志记录,但我似乎找不到在后端设置文件收集器的方法,因此它只会保留最后 20 个日志。
namespace sinks = boost::log::sinks;
namespace keywords = boost::log::keywords;
typedef sinks::text_file_backend TextFileBackend;
typedef boost::shared_ptr<TextFileBackend> TextFileBackendPtr;
TextFileBackendPtr pBackend =
boost::make_shared<TextFileBackend>
(
keywords::file_name = "BoostLogTest_%Y%m%d.log",
keywords::auto_flush = true
);
// Set up where the rotated files will be stored
pBackend->set_file_collector
(
sinks::file::make_collector
(
keywords::target = "..\\Logs"
)
);
在对 sinks::file::make_collector 的调用中,我发现了一些关键字,例如 max_size 和 min_free_space,但这两个都不是我想要的。我只想要 max_files 这样的东西,所以我可以告诉它只保留最后 20 个日志,而不管它们占用了多少磁盘空间。我能找到的唯一参考是这张已打开的票:https://svn.boost.org/trac/boost/ticket/8746。
似乎也没有可供使用的关键字的记录列表。我找到的所有例子都是从网上找到的例子。
【问题讨论】:
-
我正在寻找相同的。你找到解决办法了吗?
-
@zuko 不,我找不到任何解决方案。这可能是他们稍后会添加的内容。我最终没有使用 boost 进行日志记录。