Azure功能应用程序日志未显示

Kik*_*nye 21 logging function azure azure-functions

我对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");
}
Run Code Online (Sandbox Code Playgroud)

从我在教程中看到的内容,我应该能够在代码下方的"logs"区域中看到一些信息,但没有任何显示,我一直在检查解决方案一段时间但似乎无法找到有用的东西.

任何帮助将不胜感激.

And*_*NET 30

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

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

从菜单中,选择Debug console> CMD

在文件列表中,进入LogFiles>应用程序>功能>功能> [功能名称]

在那里,您将看到日志文件列表.

  • 我有大量丢失的日志。它似乎没有在合理的时间范围内将它们写入文件存储,并且昨天过去的每个日志文件都丢失了。我是否在某处设置不当? (2认同)

Joh*_*ten 6

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

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


wpq*_*pqs 5

Azure门户上周进行了更新,他们将日志从Monitor移到了实际Azure功能的宿主。但是,要查看它们,您需要单击测试。我在Microsoft支持方面提出了一个问题,在我亲自遇到答案之前,他们花了几天的时间来摆弄他们的拇指。我希望这可以节省一些时间

在此处输入图片说明


Jam*_*iro 5

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

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

"logging": {
    "fileLoggingMode": "always",
    "logLevel": {
        "default": "Information",
        "Host.Results": "Error",
        "Function": "Trace",
        "Host.Aggregator": "Trace"
    }
}
Run Code Online (Sandbox Code Playgroud)

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


Mat*_*hew 5

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

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