gpt4 book ai didi

c++ - Boost日志选择目标文件

转载 作者:太空狗 更新时间:2023-10-29 23:09:14 25 4
gpt4 key购买 nike

是否可以使用一个 Boost 日志实例登录多个文件。

我的意思是是否可以指定将日志写入哪个文件:

BOOST_LOG_..(...) << "aaa" <- go to **A.log**
BOOST_LOG_..(...) << "bbb" <- go to **B.log**

最佳答案

是的,这是可能的 - 使用 filters .

如何操作完全取决于您的偏好,但这里有一个使用范围记录器标签的示例:

void SomeFunction()
{
{
// everything in this scope gets logged to A.log
BOOST_LOG_SCOPED_LOGGER_TAG(lg, "Log", std::string, "LogA")
BOOST_LOG(lg) << "aaa";
BOOST_LOG(lg) << "aaa2";
}

{
// everything in this scope gets logged to B.log
BOOST_LOG_SCOPED_LOGGER_TAG(lg, "Log", std::string, "LogB")
BOOST_LOG(lg) << "bbb";
BOOST_LOG(lg) << "bbb2";
}
}

// This is your log initialization routine
void InitLogs()
{

// Initialize sinkA to use a file backend that writes to A.log and sinkB to B.log.
// ...
// ...

// Make sink A only accept records with the Log attribute "LogA"
// while sink B will only accept records where it is "LogB".
sinkA.set_filter(flt::attr<std::string>("Log") == "LogA");
sinkB.set_filter(flt::attr<std::string>("Log") == "LogB");
}

关于c++ - Boost日志选择目标文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5960395/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com