python - 如何在 sanic 中记录所有传入请求和对所有 api 的出站响应
问题描述
我已经尝试登录每个函数,但为了制作一个通用函数并避免使用相同的 logger.info(),我想使用 sanic 的 logging 属性。
研究它我得到了旋转记录器的信息,但它没有记录请求数据及其标头以及正在发送的响应。我应该在日志配置中包含什么?
这是我的日志配置
LOG_SETTINGS = {
'version': 1,
'disable_existing_loggers': False,
'handlers': {
'rotating_log_handler': {
'level': 'DEBUG',
'class': 'logging.handlers.RotatingFileHandler',
'filename': '/var/log/fynd/hogwarts.log',
'maxBytes': 1024 * 1024 * 50,
'backupCount': 10,
'formatter': 'log_formatter'
},
'console': {
'level': 'DEBUG',
'class': 'logging.StreamHandler',
'formatter': 'console'
},
},
'formatters': {
'log_formatter': {
'()': 'pycommon.logger.jsonformatter.JsonFormatter',
},
'console': {
'format': '[%(asctime)s][%(levelname)s] %(name)s '
'%(filename)s:%(funcName)s:%(lineno)d | %(message)s',
'datefmt': '%H:%M:%S',
},
},
'loggers': {
'': {
'level': 'DEBUG',
'handlers': ['rotating_log_handler'],
'propagate': True
},
}
}
解决方案
推荐阅读
- c++ - 无法在 Visual Studio for c++ 下设置环境和库路径
- javascript - 将项目入口点更改为公用文件夹后样式和 js 不起作用
- java - 处理 CSV 文件以映射
使用 Java 8 - math - 不明白learnopengl.com中“pre-filter convolution中出现Bright dots”的解决方法
- rest - 对张量流服务模型的卷曲查询以预测 API 中断
- android - 谷歌地图显示空白布局
- java - 如何在android java活动中获取FMOD输出进度条&播放&暂停
- python - 如何更改请求中的标头并将其传递给另一个 IP
- python - 写入所有结果、从 Excel 读取和写入 Excel 的问题
- python - 循环遍历熊猫中的日期范围