我正在使用asyncio模塊編寫我的代碼,其中包含大量信息/調試日誌記錄(logging.FileHandler)。我擔心大量使用asyncio會降低我的應用程序的性能,因爲日誌記錄會阻止操作。Python日誌記錄開銷
什麼是最好的解決方案呢?沒有找到關於日誌開銷的任何信息。
也許使用SocketHandler或MemoryHandler會有幫助嗎?對於我使用的指標statsd(這也是阻止操作,但必須非常快),但我更關心非阻塞日誌記錄。
代碼示例:
@asyncio.coroutine
def creator_worker(self):
while not self.q.empty():
with (yield from self.semaphore):
sample = yield from self.q.get()
logging.debug('Got new sample, processing')
# start processing
我所知道的
import os
os.environ['PYTHONASYNCIODEBUG'] = '1'
import asyncio
但是這不是我要找的。
謝謝