繁体   English   中英

如何在 Python Quart 路由处理程序中使用日志记录?

[英]How to use logging in Python Quart route handler?

我是新来hypercorn + uvloop + quart 我正在尝试创建以下文件并在路由处理程序中打印一些信息/调试日志,但没有显示任何内容。 我已经调试到路由处理程序并注意到dog_server.logger.disabled = True 有谁知道是什么问题? 谢谢!

dog_blueprint.py

from quart import Blueprint
import logging

logging.basicConfig(level=logging.DEBUG)

class DogBlueprint(Blueprint):
    logger = None
    app_config = None

    def register(self, app, options, first_registration: bool = False):
        # app.logger.info('DogBlueprint is registering')
        print('Blueprint registering...')
        self.logger = app.logger 
        self.logger.info("Hello")  # This one working fine
        self.app_config = app.config
        super(DogBlueprint, self).register(app, options, first_registration)
        self.logger.info("World")  # This one working fine

路线.py

dog_server = DogBlueprint('dog_server', __name__)
logging.basicConfig(level=logging.DEBUG)

@dog_server.route('/score', methods=['POST'])
async def post_handler():
    received = await _fetch_post_body(request)
    dog_server.logger.info(f'Received size: {len(received)}')  # This one does not work
    ... ... 

这是 Hypercorn 中的一个错误,请参阅此讨论 我会避免使用 0.11.0 并使用 0.10.2 或 0.11.1。 (我是 Hypercorn 的作者)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM