Как вызвать раковину-> наполнить при использовании 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 ответ

Вы можете зарегистрировать фабрику приемников, которая будет настраивать приемник так, как вам нужно. Вы можете найти пример здесь.

Другие вопросы по тегам