我是 Flask 的新手,我试图在 Python Flask 应用程序的日志中添加更多字段。我正在使用日志记录模块并定制如下
文件名:
logger.py
import logging
from flask import Flask
from flask_log_request_id import current_request_id
APP = Flask(__name__)
class LoggerFilter(logging.Filter):
def filter(self, record):
record.request_id = current_request_id()
return True
logger = logging.getLogger(__name__)
logger.addFilter(LoggerFilter())
我试图在其他文件中使用
logger
from logger import logger
@app.route("/", methods=['GET'])
def get_list():
logger.info("Hello")
# Other codes
这不打印任何日志。我的需要是在所有地方使用自定义记录器。请在这件事上给予我帮助。谢谢
直接致电
getLogger
即可。 logging
模块实现了它自己的记录器命名空间:无论 getLogger('foo')
在哪里被调用,Logger
都会返回相同的 getLogger
实例。
import logging
logger = logging.getLogger('logger')
@app.route("/", methods=['GET'])
def get_list():
logger.info("Hello")
# Other codes
由此得出的结论是记录图书馆希望访问的记录器,以便您可以适当地配置它们。 (也就是说,
logging.basicConfig
或类似的东西在您的 if __name__ == '__main__'
块中被调用,您可以在其中进行额外的配置。每个使用 getLogger
的库都会由应用程序配置该记录器。)