【发布时间】:2021-01-21 20:53:17
【问题描述】:
我正在使用 Flask 开发 REST API。
API 目前分为两个 Python 3.6 模块:update.py 和 vmware_exporters_support.py。
update.py 以我想要的方式记录。 vmware_exporters_support.py 没有按照我想要的方式记录。我希望 vmware_exporters_support.py 使用 update.py 的记录格式而不记录两次。
在 update.py 中,日志记录设置为:
from flask.logging import create_logger
app = Flask('collector_api')
logger = create_logger(app)
import vmware_exporters_support
而作为 Flask 一部分的 create_logger 位于 https://github.com/pallets/flask/blob/1.1.x/src/flask/logging.py
然后在 vmware_exporters_support.py 中设置日志记录:
logger = logging.getLogger()
看起来这应该只是从 update.py 获取根记录器,但我不确定它是否真的考虑到它的行为有多么不同。
一个说明性的日志 sn-p 看起来像:
[2021-01-21 12:12:29,810] INFO in update: Writing container yaml /data/vmware-exporter/vmware_exporter_1
2021-01-21.12:12:29 INFO Writing container yaml /data/vmware-exporter/vmware_exporter_1
[2021-01-21 12:12:29,810](带方括号)来自 update.py,2021-01-21.12:12:29(不带方括号)来自 vmware_exporters_support .py
我需要做什么才能让 vmware_exporters_support.py 使用与 update.py 相同的日志记录格式?
顺便说一句,update.py 是 __main__,而不是 vmware_exporters_support.py。
我使用的是 Flask 1.1.2。
提前致谢!
【问题讨论】: