Как вызвать раковину-> наполнить при использовании boost::log::init_from_settings?
Как вызвать сток-> заполнить приемник текстового файла при использовании init_from_settings? Я проверил исходный код и не нашел способа повторно получить доступ к этим приемникам.
Кажется, что 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 ответ
Вы можете зарегистрировать фабрику приемников, которая будет настраивать приемник так, как вам нужно. Вы можете найти пример здесь.