boost: text_file_backend имя_файла и цель сборщика

Когда используется text_file_backend и collector, файлы журналов создаются в каталоге keywords::target или collector перемещает туда старые файлы журналов?

Если collector перемещает их, то когда это делает collector, сразу после закрытия старого лог-файла и создания нового или в какой-то другой момент?

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


person George Sovetov    schedule 28.03.2016    source источник


Ответы (1)


Поведение довольно хорошо задокументировано здесь.

По сути, сток пишет лог-файл, имя которого указано в параметре file_name named. Если этот параметр является строковым шаблоном, имя файла создается заново каждый раз при открытии нового файла.

При определенных условиях приемник может вращать файл. Это означает, что текущий файл закрывается и передается сборщику, если он установлен. Затем открывается новый файл.

Сборщик занимается управлением файлами. При передаче нового файла он может выполнять проверки ограничений для старых файлов и файловой системы в хранилище — каталоге, который вы указываете в параметре target named. На этом этапе старые файлы могут быть удалены из хранилища, чтобы выполнить ограничения и иметь возможность поместить туда новый файл.

В параметре target можно указать каталог хранения такой же, как тот, куда вы записываете исходный файл (каталог из параметра file_name). В этом случае некоторые ограничения могут поддерживаться менее надежно (например, общий размер файла не будет включать в себя файл, который записывается в данный момент, поэтому старые файлы по-прежнему будут удаляться только при ротации), но в остальном он должен работать, как описано.

person Andrey Semashev    schedule 28.03.2016
comment
Вы только что заверили меня, что это нормально, если цель сборщика совпадает с исходным каталогом файлов журналов. Это то, что мне было нужно в конце концов. Кроме того, приятно получить ответ от автора библиотеки, о которой я спрашивал. Спасибо! - person George Sovetov; 28.03.2016