gpt4 book ai didi

Python 'RequestsHandler' 对象没有属性 'filters'

转载 作者:行者123 更新时间:2023-12-05 06:29:55 24 4
gpt4 key购买 nike

我制作了一个使用队列的 HTTP 请求处理程序,以允许它使用异步。

class RequestsHandler(logging.Handler):
def __init__(self, loop):
self._queue = queue.Queue
loop.create_task(self._drain_loop())

def emit(self, record):
log_entry = self.format(record)
self._queue.put(log_entry)

async def _drain_loop(self):
while True:
log_entry = self._queue.get()
payload = {
'text': log_entry
}
await requests.post(
'https://example.com/foo/bar',
data=payload)

logger = logging.getLogger()
logger.setLevel(logging.DEBUG)
handler = RequestsHandler(loop=asyncio.get_event_loop())
handler.setLevel(logging.INFO)
logger.addHandler(handler)

但是,当我运行 logger.info('a log message') 时,它返回:

Exception has occurred: AttributeError
'RequestsHandler' object has no attribute 'filters'

最佳答案

您的RequestHandler 构造函数应该调用logging.Handler 构造函数。

class RequestsHandler(logging.Handler):
def __init__(self, loop):
logging.Handler.__init__(self)
...

这反过来会调用 Filterer 构造函数,它将 filters 属性初始化为一个空列表。

关于Python 'RequestsHandler' 对象没有属性 'filters',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52906453/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com