如何解决Boost记录器的深拷贝
如何制作 boost::log::sources::severity_channel_logger_mt 对象的深层副本?
我需要具有指定通道的新记录器实例以及来自源记录器的所有属性的副本。
using namespace boost::log;
using Logger = sources::severity_channel_logger_mt<trivial::severity_level,std::string>;
Logger orig {keywords::channel = "LL"};
orig.add_attribute("tid",attributes::constant<std::string>("TT"));
// This constructor does not affect orig but does not inherit attributes
Logger l0 {orig,keywords::channel = "L0"};
l0.add_attribute("attr",attributes::constant<std::string>("0A"));
// copy constructor affects orig
Logger l1 {orig};
l1.channel("L1"); // Bad. It right sets l1 channel but affects the orig's channel
l1.add_attribute("attr",attributes::constant<std::string>("1B"));
Boost 版本是 1.66
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。