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

时间:2017-06-20 15:45:47

标签: function azure logging 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");
}

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

非常感谢任何帮助。

7 个答案:

答案 0 :(得分:27)

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

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

从菜单中选择Debug console> CMD

在文件列表中,进入LogFiles>申请>功能>功能> [你的功能名称]

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

答案 1 :(得分:5)

Azure Portal上周更新了,他们将日志从Monitor移动到实际Azure功能的主页。但是,要查看它们,您需要单击“测试”。我提出了一个微软支持的问题,他们花了几天时间在我自己看到答案之前翻了个大拇指。我希望这能为他人节省一点时间

enter image description here

答案 2 :(得分:5)

按照这里的建议为我工作。 Configuring Log Level for Azure Functions

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

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

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

答案 3 :(得分:3)

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

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

答案 4 :(得分:2)

如果在执行功能时正在观看该窗口,则日志消息应显示在功能代码下: Log window under function code

要查看不希望查看的日志消息,您需要配置Application Insights。如果已配置,它将显示在“监视器”选项卡下: Monitor Tab with past log entries.

答案 5 :(得分:0)

实际上,Azure门户中的Function App的Logs部分似乎很脆弱。我打开了一些我们未使用的文件,然后不再记录任何内容。关闭Function App并重新打开即可解决该问题。

答案 6 :(得分:0)

我完全避免等待日志显示在功能应用程序中。转到左侧的Monitor,然后按照此方法进行操作。即使这样,他们也可能要经过5分钟的延迟。在这个领域,aws怎么会是唯一能够立即为您提供日志的提供商? GCP也对它不利。.(不确定alicloud)