Boost.log: сброс счетчика вращения журнала, когда имя файла меняется в полночь

Я использую текстовый файл для приемника, который содержит элементы-заполнители

  • Дата
  • счетчик бревен

«% Y-% m-% d_mylogfile_% 3N.log»

Кроме того, серверная часть настроена на вращение с определенным размером и в полночь.

using namespace boost::log;
boost::shared_ptr<sinks::text_file_backend> backend = boost::make_shared<sinks::text_file_backend>(keywords::file_name = "%Y-%m-%d_mylogfile_%3N.log", keywords::rotation_size = 30 * 1024 * 1024, keywords::time_based_rotation = sinks::file::rotation_at_time_point(0, 0, 0),keywords::open_mode = std::ios_base::app);

Это хорошо работает для программ, которые не работают в полночь. Когда программа запускается в течение одного дня и запускается в полдень, у меня возникает следующая проблема:

2017-11-23_mylogfile_000.log
2017-11-23_mylogfile_001.log

// after rotation on midnight
2017-11-24_mylogfile_002.log  // <-- counter does not reset to 000

// after restart of the program at noon
2017-11-24_mylogfile_000.log

Счетчик не сбрасывается, когда файл получает новое имя в полночь. Когда я перезапускаю программу в полдень, возникает непонятный порядок ротации журналов.

Вопрос:
Может кто-нибудь помочь и подсказать, как сбросить счетчик логов, когда меняется дата в имени файла, но программа продолжает работать?

Заранее спасибо.

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]