Azure 函数应用程序日志未显示

Azure function apps logs not showing

我对 Azure 比较陌生,我刚刚完成了有关如何创建新 Azure 函数的教程,该函数在创建新 blob 时触发,并将其作为其中的默认代码。

public static void Run(Stream myBlob, string name, TraceWriter log)
{
    log.Info($"C# Blob trigger function Processed blob\n Name:{name} \n Size: {myBlob.Length} Bytes");
}

根据我在教程上看到的,我应该可以在代码下方的"logs"区域看到一些信息,但是什么也没有显示,我一直在寻找解决方案现在但似乎找不到任何有用的东西。

如有任何帮助,我们将不胜感激。

日志window有点脆弱,并不总是显示日志。但是,日志也会写入日志文件。

您可以从 Kudu 控制台访问这些日志: https://[your-function-app].scm.azurewebsites.net/

从菜单中,select调试控制台 > CMD

在文件列表中,进入 LogFiles > Application > Functions > Function > [您的函数名称]

在那里您会看到一个日志文件列表。

上周更新了 Azure 门户,他们将日志从 Monitor 移到了实际 Azure Functions 的主页。但是,要查看它们,您需要单击测试。我向 Microsoft 支持提出了一个问题,在我自己找到答案之前,他们花了几天时间摆弄他们的拇指。我希望这能为其他人节省一些时间

确实,Azure 门户中 Function App 的日志部分看起来很脆弱。我打开了一些未使用的,然后它不再记录任何内容。关闭Function App并重新打开它解决了问题。

日志消息应该显示在函数代码下方,如果您在函数执行时正在观察 window:

若要查看您不在时生成的日志消息,您需要配置 Application Insights。如果已配置,则应显示在“监视器”选项卡下:

我会完全避免等待日志出现在函数应用程序中。转到左侧的监视器并以这种方式进行。即使那样,他们通过时可能会有 5 分钟的延迟。 aws 究竟如何成为这个 space 中唯一能够立即为您提供日志的提供商? GCP 也不好..(不知道阿里云)

遵循此处的建议对我有用。

如果您希望在按下 "Run" 后立即在门户控制台中看到您的日志,请转到您的 "Function app settings" 并将以下内容添加到您的 host.json 文件中:

"logging": {
    "fileLoggingMode": "always",
    "logLevel": {
        "default": "Information",
        "Host.Results": "Error",
        "Function": "Trace",
        "Host.Aggregator": "Trace"
    }
}

请注意,这仅适用于 Javascript 函数。对于其他语言的本地开发功能,控制台可能有点不稳定。

Microsoft 不断更改界面,因此其中许多答案不再正确。

我发现查看日志的最佳方法是进入 Application Insights 了解函数本身,然后搜索一些可能在日志中的文本 交易搜索.

如果您使用 Visual Studio 代码和 Azure 函数扩展 (link),您可以直接连接到函数的日志流:

它将打开一个输出 window,您可以在其中查看所有日志。

编辑:

要达到这一点,您必须通过 Azure Functions Extension 选项卡,然后select您的订阅将具有您拥有的任何功能。

在我的例子中,右键单击 Function App 和 Refresh