使用boost :: log :: init_from_settings时如何调用sink-> imbue?

时间:2017-03-06 16:35:02

标签: c++ boost boost-log

如何在使用init_from_settings时调用sink-> imbue for text file sink? 我检查了源代码,但没有找到重新访问这些接收器的方法。

似乎register_sink_factory是扩展名,但默认工厂都在init_from_settings.cpp中,因此我无法使用装饰器模式轻松实现它。

我试过设置了全局语言环境,但它打破了RotationSize参数(它不接受带小数点的int)

另一种方式是:

auto previousLocale = std::locale::global(boost::locale::generator()("zh_CN.UTF-8"));
logging::init_from_settings(settings);
logging::add_common_attributes();
std::locale::global(previousLocale);

有更好的想法吗?

1 个答案:

答案 0 :(得分:0)

您可以注册水槽工厂,以您需要的方式配置水槽。您可以找到示例here