繁体   English   中英

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");
}

从我在教程中看到的内容来看,我应该能够在代码下方的“日志”区域中看到一些信息,但没有任何显示,我已经检查了一段时间的解决方案,但似乎无法找到任何有用的东西。

任何帮助将不胜感激。

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

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

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

在文件列表中,进入 LogFiles > Application > Functions > Function > [Name of your function]

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

遵循这里的建议对我有用。 为 Azure Functions 配置日志级别

如果您希望在按“运行”后立即在门户控制台中显示您的日志,请转到“功能应用设置”并将以下内容添加到您的 host.json 文件中:

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

请注意,这只适用于 Javascript 函数。 对于其他语言的本地开发功能,控制台可能会有些紧张。

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

我发现查看日志的最佳方法是进入Application Insights以获取函数本身,然后在Transaction search中搜索日志中可能存在的一些文本。

Azure 门户上周进行了更新,他们将日志从 Monitor 移到了实际 Azure Function 的主目录。 但是,要查看它们,您需要单击测试。 我向 Microsoft 支持提出了一个问题,他们花了几天时间摆弄他们的拇指,然后我自己才找到答案。 我希望这可以节省其他人一点时间

在此处输入图像描述

如果您在函数执行时正在查看该窗口,则日志消息应显示在函数代码下方: 功能码下的日志窗口

若要查看在您不查看时发出的日志消息,您需要配置 Application Insights。 如果已配置,则应显示在 Monitor 选项卡下: 带有过去日志条目的监控选项卡。

实际上,Azure 门户中 Function App 的日志部分似乎很脆弱。 我打开了一些我们未使用的,然后它不再记录任何内容。 关闭函数应用程序并重新打开它解决了这个问题。

如果您使用 Visual Studio Code 和 Azure Functions Extension ( 链接),您可以直接连接到函数的日志流:

连接到日志流选项

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

编辑:

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

选择步骤

就我而言,右键单击功能应用程序并刷新

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM