我创建了一个Python Azure Functions应用程序。在此应用程序中,我想检查日志详细信息,例如DEBUG
,INFO
等。我已经编写了一些用于日志记录目的的代码,但在执行 azure 函数应用程序后无法获取任何日志。
我已经编写了用于日志记录目的的基本代码,如下所示,但是在执行Azure函数后,我无法在控制台上看到登录。
import logging
import azure.functions as func
data = "Hello"
logging.basicConfig(level=logging.DEBUG)
logging.debug(data)
对于上述问题,还有其他解决方案或解决方法吗?
很可能根记录器被 azure 搞砸了,basicConfig
只创建了一个具有一些合理默认值的根记录器。要解决此问题,请创建自己的独立记录器。
import logging
logger = logging.getLogger('akshay')
logger.setLevel(logging.DEBUG)
sh = logging.StreamHandler()
sh.setLevel(logging.DEBUG)
logger.addHandler(sh)
logger.debug('Hello')
# Outputs 'Hello'
此 GitHub 问题解释了解决方案:
至于此处提到的原始问题,可以通过两个步骤的组合来实现所需的行为:
- 在用户代码中将根记录器设置为使用调试级别(默认情况下设置为 info(。
- 配置 host.json 以记录调试消息:[...]
具体来说,这是脚本中需要的代码:
import logging
logging.Logger.root.level = 10
logging.debug("Debug message here")