日志中间件的问题
作者: JJ创建于 2017年11月19日更新于 2025年2月14日
所有这些都已上传到 https://GitHub.com/JJ/tests-Python,以防万一。不管怎样。我正在尝试使用 jsonlogger 来设置日志中间件,方法如下:
""" 在 JSON 中定义日志器 """
class Logger(object):
def __init__(self):
self.logger = logging.getLogger()
logHandler = logging.StreamHandler()
formatter = jsonlogger.JsonFormatter()
logHandler.setFormatter(formatter)
self.logger.addHandler(logHandler)
def info(self, content):
self.logger.info(content)
@hug.middleware_class()
class CustomLogger(LogMiddleware):
def __init__(self, logger=Logger()):
super().__init__(logger=logger)据我所知,它应该在出厂时就能正常工作。然而,我在控制台上得到的结果是这样的:
Serving on port 8000...
127.0.0.1 - - [19/Nov/2017 10:19:41] "GET / HTTP/1.1" 200 16
127.0.0.1 - - [19/Nov/2017 10:19:50] "GET /status HTTP/1.1" 200 16我是否做错了什么? 这东西不应该采用另一种格式吗? 我已经按照这里的说明 https://GitHub.com/madzak/Python-json-logger 进行了操作。
- 更新 * 我添加了以下内容:
def process_request(self, request, response):
"""记录请求的基本端点"""
self.logger.info({ 'method': request.method,
'uri': request.relative_uri,
'type': request.content_type } )
def process_response(self, request, response, resource):
"""记录 API 返回的基本数据"""
self.logger.info( {'remote_addr':request.remote_addr,
't': current_time,
'method': request.method,
'uri': request.relative_uri,
'status': response.status,
'user-agent': request.user_agent })但仍然似乎产生了相同的结果
内容来源: hugapi/hug