Используют ли обработчики журналов отдельные потоки? - PullRequest
4 голосов
/ 21 декабря 2011

Обработчики Python великолепны. Некоторые из них, такие как SMTPHandler , могут занять много времени для выполнения (обращение к SMTP-серверу и все). Они выполняются в отдельном потоке, чтобы не блокировать основную программу?

Ответы [ 2 ]

2 голосов
/ 21 декабря 2011

SMTPHandler использует smtplib , и при отправке электронного письма с этой библиотекой ваш процесс блокируется до тех пор, пока он не будет отправлен правильно, поток не создан.

Если выЕсли вы не хотите блокировать ваш процесс при отправке электронного письма, вам придется реализовать свой собственный SMTPHandler и переопределить метод emit(self, record).

Менее блокирующим обработчиком является SysLogHandler , посколькуобычно это локальная связь, и в UDP, поэтому система не ожидает подтверждения от пункта назначения.

0 голосов
/ 21 декабря 2011

Нет, насколько я знаю, вам следует создать отдельный процесс.

...