作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我制作了一个使用队列的 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/
我制作了一个使用队列的 HTTP 请求处理程序,以允许它使用异步。 class RequestsHandler(logging.Handler): def __init__(self, loo
我是一名优秀的程序员,十分优秀!