执行 Python Azure 函数时,不会显示日志记录调试日志



我创建了一个Python Azure Functions应用程序。在此应用程序中,我想检查日志详细信息,例如DEBUGINFO等。我已经编写了一些用于日志记录目的的代码,但在执行 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 问题解释了解决方案:

至于此处提到的原始问题,可以通过两个步骤的组合来实现所需的行为:

  1. 在用户代码中将根记录器设置为使用调试级别(默认情况下设置为 info(。
  2. 配置 host.json 以记录调试消息:[...]

具体来说,这是脚本中需要的代码:

import logging
logging.Logger.root.level = 10
logging.debug("Debug message here")

相关内容

最新更新