Многопроцессное ведение журнала не тривиально, но и не сложно.Вам понадобится модуль logging
.
Главное - иметь процесс прослушивателя, который будет получать все записи журнала через многопроцессорные очереди .Затем этот процесс слушателя будет обрабатывать эти записи с помощью любых внутренних обработчиков, которые вы решите использовать.В вашем случае вы можете использовать FileHandler
или аналогичный.
Если вы работаете в Python 3.2 или более поздней версии, вы будете иметь оба QueueHandler
и QueueListener
в стандартной библиотеке.Quelistener
- это процесс слушателя, о котором я говорил ранее (да, у него есть метод start()
).
Если вы используете предыдущую версию Python, взгляните на эту ссылку , который в основном показывает, как их переписать (и как их использовать).
Если вы хотите ссылки из официального документа, посмотрите на Ведение журнала в один файл изнесколько процессов сеанс из Ведение журнала Кулинарной книги .
Вас также может заинтересовать этот ответ из вопроса Как мне войти в систему при использовании многопроцессорнойв Python?