gpt4 book ai didi

c++ - 如何在不关闭 C++ 进程的情况下更改日志记录级别

转载 作者:太空宇宙 更新时间:2023-11-04 12:19:56 31 4
gpt4 key购买 nike

我正在编写一个使用 boost 库进行日志记录的程序

    boost::log::keywords::time_based_rotation = boost::log::sinks::file::rotation_at_time_point(0, 0, 0),
boost::log::keywords::format = "[%TimeStamp%]: %Message%",
boost::log::keywords::auto_flush = true
);

boost::log::add_common_attributes();
boost::log::core::get()->set_filter(
boost::log::trivial::severity >= boost::log::trivial::info
);

我可以通过更改 set_filter 中的参数来更改日志级别,但是是否可以在不更改源代码和重新启动进程的情况下更改日志级别?

最佳答案

假设您的应用程序确实提供了某种方式来在运行时传达所需的严重性级别,您始终可以设置具有新级别的新过滤器。每当您需要更新时,只需调用 set_filter

void update_severity_filter(boost::log::trivial::severity_level new_level)
{
boost::log::core::get()->set_filter(
boost::log::trivial::severity >= new_level
);
}

this中还描述了其他方式回答。

关于c++ - 如何在不关闭 C++ 进程的情况下更改日志记录级别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46307679/

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