PoCo Logging. Имя файла журнала, содержащее метку времени создания ИЛИ Новый файл журнала при каждом запуске приложения

Мне нужна моя программа для запуска нового файла журнала при каждом выполнении. Я хочу использовать PoCo, так как я уже использую эту библиотеку в коде.

С моей точки зрения, у меня есть две возможности, но я не знаю, как настроить какую-либо из них, используя канал в Poco.

  • Просто запускайте новый файл при каждом запуске программы
  • Обычное имя файла (не свернутое, а записываемое), содержащее метку времени, когда он был создан.

Если я не ошибаюсь, использование FileChannel невозможно при любых этих возможностях. Я думаю, что мог бы написать новый канал PoCo, но, очевидно, я предпочитаю что-то уже работающее.

У кого-нибудь есть идеи для этого. Я пытался выяснить, используя два канала, но я не вижу, как.

благодарю вас

1 ответ

Решение

FileChannel имеет свойство rotateOnOpen. Если вы установите значение true, оно будет создавать новый файл каждый раз, когда открывается канал. Смотрите FileChannel. Если у вас нет этого свойства, вы используете более старую версию Poco; в этом случае вы можете просто открывать канал File с новым именем при каждом запуске приложения:

std::string name = yourCustomNameGenFunc(); 
AutoPtr<FileChannel> pChannel = new FileChannel(name);
Другие вопросы по тегам