4

Python のロギング ハンドラーは優れています。SMTPHandlerなど、実行に時間がかかるものもあります (SMTP サーバーとすべての接続)。メインプログラムをブロックしないように、別のスレッドで実行されていますか?

4

2 に答える 2

2

SMTPHandlersmtplibを使用し、このライブラリを使用して電子メールを送信する場合、プロセスは正しく送信されるまでブロックされ、スレッドは作成されません。

電子メールの送信時にプロセスをブロックしたくない場合は、独自のSMTPHandlerを実装し、emit(self, record)メソッドをオーバーライドする必要があります。

ブロッキングの少ないハンドラーはSysLogHandlerです。これは、一般にローカル通信であり、UDPでは、システムが宛先からの確認応答を待機しないためです。

于 2011-12-21T14:04:36.113 に答える
0

いいえ、私の知る限り、別のプロセスを生成する必要があります。

于 2011-12-21T14:02:12.087 に答える