2017-01-22 3 views
1

スレッド名を設定する方法があります:thread = threading.Thread(name='Very important thread', target=foo)とそれ以降は、フォーマッタで%(thread)s:というログの目的でこの名前を取得します。 asyncio.Taskでこれを行うことはできますか?あなたは、動的Taskにいくつかのプロパティを追加することができ、他のPythonオブジェクトとしてasyncioタスクの名前を設定するには?

asyncio.Task.current_task() 

答えて

2

あなたがして、現在のタスクにアクセスすることができます。たとえば、新しいタスクを開始するあなたのコルーチンのいずれかの最初の行にこれを追加します。

asyncio.Task.current_task().foo = "Bar" 
asyncio.Task.current_task().name = "#{}".format(n) 

はあなたのロガーに出力し、このデータをlogging filterを追加します。

+0

素晴らしい!私は決して考えなかった: "なぜこれらのフィルターが必要なの?" :) –

関連する問題