我正在尝试在 AWS lambda 中运行脚本,我想在脚本运行后将信息级别的日志输出到控制台。我试过从 This post 寻求帮助在 lambda 购买中使用日志没有取得任何成功。我认为 AWS Cloudwatch 正在覆盖我如下所示的配置。
import logging
# log configuration
logging.basicConfig(
format='%(levelname)s: %(message)s',
level=logging.INFO,
encoding="utf-8"
)
我想将日志记录级别设置为 logging.info。我怎样才能做到这一点?运行时是python 3.9
最佳答案
根据我的理解,我认为一种解决方法是添加以下内容:
logging.getLogger().setLevel('INFO')
我相信 logging.basicConfig(level=...)
会影响日志在控制台中显示的最低日志级别,但会影响所有记录器。上面的代码明确设置了根记录器的最低启用级别,即 logging.getLogger()
。每个记录器的启用级别决定了将在什么级别记录消息 - 否则,每次调用像 logging.info
这样的记录器方法基本上都是空操作。
本质上,basicConfig
和 setLevel
调用是分开的,但它们一起工作以确定是否将库的日志打印到控制台。例如,您可以设置 basicConfig(level='DEBUG')
以便打印出所有库的调试级别日志。但是如果你想为像 botocore
这样的库做一个异常(exception),你可以使用 logging.getLogger('botocore').setLevel('WARNING')
,和这会将该库的最低启用级别设置为警告,因此只有该库记录的高于该最低级别的消息才会打印到控制台。
关于python - 无法在 AWS Lambda 中显示信息级别日志记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69367479/