将 Azure 应用服务的标准输出和标准错误日志存储到 Azure Blob 存储中

Store stdout and stderr logs of Azure App Service into Azure Blob Storage

我正在尝试将 Node.js Web 应用程序的日志(基本上是 stdout 和 stderr 的全部输出)存储到 Azure Blob 存储。我试过在 应用服务日志 诊断设置 中打开一些东西,但似乎没有任何效果。我可以存储日志的唯一方法(但不是在 Blob 存储中,而是在应用程序服务文件系统中)是使用 Application Logging (Filesystem) 选项。这个选项的问题是它会在 12 小时后自动关闭。

上面写着 here 它们只支持 .NET 应用程序,但我不确定我是否理解正确。在我看来,必须以某种方式支持这样一个基本功能。

所以我想问一下,是否有其他方法或库可用于在 Blob 存储中存储 Node.js 网络应用程序的日志?

使用 Azure 应用服务 进行日志记录的推荐方法通常是 Application Insights(有关详细信息,请参阅 here and here and here) .您可以为 blob 存储配置保留策略(如果需要超出默认设置)

根据此 doc,目前只有 .NET 应用程序日志可以写入 blob 存储。 Java、PHP、Node.js、Python 应用程序日志只能存储在 A​​pp Service 文件系统中. 文件系统选项用于临时调试目的,并会在 12 小时内自动关闭。

您可以提出功能请求here