如何使用 AWS Chalice 框架在 pytest 中打印日志?

How to print log in pytest using AWS Chalice framework?

如何使用 AWS Chalice 框架打印登录 pytest

如果我们使用自定义记录器,日志会打印所有内容

import logging

logger = logging.getLogger()
logger.setLevel(logging.DEBUG)

运行 日志级别测试(工作)

pytest --log-cli-level=DEBUG

如果我用AWS chalice log

import logging

from chalice import Chalice

app = Chalice(app_name='demolog')
# Enable DEBUG logs.
app.log.setLevel(logging.DEBUG)


@app.route('/')
def index():
    app.log.debug("This is a debug statement")
return {'hello': 'world'}

同样的测试命令没有打印任何日志

pytest --log-cli-level=DEBUG

有什么帮助吗?

确保您的 Chalice 实例处于调试状态,您也可以关闭 configure_logs

app=Chalice(app_name="MyApp", debug=True, configure_logs=False)

将您的调试和 configure_logs 放在环境变量上,然后您可以根据 local/dev/stage/prod 环境控制它们。

from chalice import Chalice
import logging

app = Chalice(app_name='eballot-poll-role')
# Log
app.debug = True
logging.getLogger().setLevel(logging.DEBUG)