Параллельное ведение журнала Python, чтобы избежать узких мест на диске в коде - PullRequest
0 голосов
/ 10 июня 2018

Я не очень знаком с asyncio, но я надеялся, что найдется какой-то простой способ использовать asyncio.Queue для отправки сообщений журнала в очередь вместо их записи на диск, а затем иметь работника в потокедождитесь этих событий очереди и запишите их на диск, когда ресурсы будут доступны.Это кажется довольно широко необходимым, так как ведение журнала является огромным узким местом в большом количестве кода, но не всегда необходимо в реальном времени.Существуют ли уже существующие пакеты для этого или кто-то с большим опытом может написать короткий пример сценария, чтобы начать меня?ПРИМЕЧАНИЕ. Это необходимо для взаимодействия с существующим кодом, поэтому, вероятно, предпочтительнее сделать его упакованным в класс.

1 Ответ

0 голосов
/ 10 июня 2018

Он обрабатывается в стандартной библиотеке в последних версиях Python.См. этот пост для получения информации и официальную документацию .Эта функциональность предшествует asyncio и поэтому не использует ее (и особенно не нуждается).

Для Python 2.7 вы можете использовать пакет logutils , который обеспечивает эквивалентную функциональность.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...