Нет, в настоящее время буст. Лог не поддерживает процесс разветвления (т.е. вызов<fork>в системах UNIX). Есть несколько проблем с разветвлением процесса, например:
Поглотители файлов не пытаются повторно открыть файлы журналов или синхронизировать доступ к файлам между процессами родителей и детей. Полученный результат может быть искажен.
Коллекторы файлов не ожидают нескольких процессов, пытающихся собрать файлы журнала в одну и ту же целевую директорию. Это может привести к ложным сбоям при ротации файлов журнала.
В многопоточных приложениях, как правило, нельзя гарантировать, что поток не выполняет некоторое увеличение. Лог-код в то время как другой поток вилки. Какой-то подъем. Ресурсы журнала могут быть необратимо заблокированы или сломаны в процессе разветвления. Эта оговорка не специфична для Boost. Лог, другие библиотеки и даже само приложение подвержены этой проблеме.
Могут быть и другие вопросы. Кажется маловероятным, что поддержка разветвления будет добавлена к Boost. Лог в ближайшее время.
Note
Это не исключает<fork>+<exec>Последовательность работы. До тех пор, пока раздвоенный процесс не пытается использовать любой из Boost. Лог-код, процесс должен иметь возможность вызывать<exec>или аналогичную функцию для загрузки и запуска другого исполняемого файла.
Статья Does Boost.Log support process forking? раздела Chapter 1. Boost.Log v2 Rationale and FAQ может быть полезна для разработчиков на c++ и boost.
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.