Python のロギング ハンドラーは優れています。SMTPHandlerなど、実行に時間がかかるものもあります (SMTP サーバーとすべての接続)。メインプログラムをブロックしないように、別のスレッドで実行されていますか?
2 に答える
2
SMTPHandlerはsmtplibを使用し、このライブラリを使用して電子メールを送信する場合、プロセスは正しく送信されるまでブロックされ、スレッドは作成されません。
電子メールの送信時にプロセスをブロックしたくない場合は、独自のSMTPHandlerを実装し、emit(self, record)
メソッドをオーバーライドする必要があります。
ブロッキングの少ないハンドラーはSysLogHandlerです。これは、一般にローカル通信であり、UDPでは、システムが宛先からの確認応答を待機しないためです。
于 2011-12-21T14:04:36.113 に答える
0
いいえ、私の知る限り、別のプロセスを生成する必要があります。
于 2011-12-21T14:02:12.087 に答える