Python是否可以让logging.handlers.httpHandler将内容头设置为JSON而不使用自定义代码?

2024-04-20 10:51:50 发布

您现在位置:Python中文网/ 问答频道 /正文

我想使用Python的logging.handlers.HTTPHandler以JSON格式使用POST和日志事件发送日志事件。但是,我不想求助于编写扩展名,因此可以使用文件或代码来实现配置。我编写了以下代码来配置记录器并发送测试消息。正在接收事件,但似乎没有将内容类型设置为JSON

import logging, logging.handlers
testHandler = logging.handlers.HTTPHandler('localhost:18080', '/test', method='POST')
log = logging.getLogger("me")
log.addHandler(testHandler)
log.warn ('{"beep":"beep"}')

我是否错过了配置


Tags: 文件代码logjson消息内容logginghandlers
1条回答
网友
1楼 · 发布于 2024-04-20 10:51:50

这是不可能的,尤其是在使用POST方法时。HTTPHandler是hardcoded,用于将所有POST请求的内容类型头设置为application/x-www-form-urlencoded

您所能做的最好的事情是将HTTPHandler子类化,并实现emit()方法的自定义版本

相关问题 更多 >