Pythonのlogging handlersは素晴らしいです。 SMTPHandlerなどの一部のサーバーでは、実行に時間がかかることがあります(SMTPサーバーに接続するなど)。彼らはメインプログラムをブロックしないように別のスレッドで実行されていますか?ロギングハンドラは個別のスレッドを使用しますか?
3
A
答えて
1
SMTPHandlerはsmtplibを使用し、このライブラリを使用して電子メールを送信すると、プロセスは正しく送信されるまでブロックされ、スレッドは作成されません。
電子メールの送信時にプロセスをブロックしたくない場合は、独自のSMTPHandlerを実装してemit(self, record)
メソッドをオーバーライドする必要があります。
一般的にローカル通信であり、システムが目的地からの肯定応答を待たないように、ブロッキングハンドラがSysLogHandlerです。
1
いいえ、わかっている限り、別のプロセスを開始する必要があります。
関連する問題
- 1. FileChannelを使用して別のスレッドからファイルを個別に検索できますか?
- 2. プロセスは別のスレッドを使用し始めますか?
- 3. 個別のスレッドでイベントハンドラをディスパッチする
- 4. のArduinoを使用して個別に
- 5. 個々のスレッドごとに個別のログファイルに記録する
- 6. 別のアクティビティでアクセスする別個のダウンローダクラス(別スレッド)
- 7. UIスレッドとは別のスレッドでビューを使用しています。
- 8. glib/gmessages.h内のロギングハンドラ
- 9. NSPredicateを使用する個別のオブジェクト
- 10. beautifulsoupを使用してデータを個別に保存します
- 11. スレッドは別のスレッドをロックしていますか?
- 12. ExecutorServiceを使用した個々のスレッドの時間制限
- 13. スレッドごとに個別のリスナーが必要ですか?
- 14. カフカプロデューサを別のスレッドで使用する
- 15. 別のスレッドでスウィングを使用する
- 16. 別の列で合計を使用する場合は、別個のIDを選択しますか?
- 17. JMeterでは50個のスレッドを使用していますが、アプリケーションはログアウトします
- 18. アクティビティ遷移を使用すると、ビューが個別に/個別に遷移しています
- 19. 別のスレッドを使用してデータベースからコンボボックスにデータをロード
- 20. JavaFX update TextAreaをPlatform.runLaterを使用して別のスレッドから
- 21. ロガー用に別のスレッドを作成していますか?
- 22. 別個の使用状況分析
- 23. UIスレッド項目を使用して別のスレッドで関数を実行する
- 24. 別のスレッドを開始すると、アクティビティのスレッドは終了しますか?
- 25. Androidスレッド - 別のスレッドからスレッドを実行し、ハンドラメッセージを待っています
- 26. NUnitは別のスレッドでアサートします
- 27. 別のスレッドでのGenericListの使用
- 28. TCPクライアントが高頻度で送信するための非同期スレッドまたは別個のスレッド
- 29. razorとAjaxの@ Url.Action()を個別に使用して呼び出します。
- 30. "Hello world"アプリケーションは.NET4.0では4スレッドを使用しますが、.NET2.0では3スレッドを使用します
あなたの入力に基づいて[フォローアップ](http://stackoverflow.com/questions/8591567/catch-sysloghandlers-output)の質問を追加しました – Jonathan