如何为 Azure 上的 Node.js Api 应用启用 BLOB 日志记录?

Posted

技术标签:

【中文标题】如何为 Azure 上的 Node.js Api 应用启用 BLOB 日志记录?【英文标题】:How to enable BLOB-logging for a Node.js Api App on Azure? 【发布时间】:2017-10-17 03:58:51 【问题描述】:

我在 azure 上有一个 node.js api 应用程序。我使用bunyan 将每个请求记录到sdtout。如何保存和读取日志文件?我启用了 BLOB 日志记录。我的存储中唯一出现的是一堆 csv 文件。这是一个例子:

| date                | level   | applicationName | instanceId | eventId            | pid   | tid | message
_______________________________________________________________________________________________________________________________________________________________
| 2017-05-17T14:21:15 | Verbose | myApp           | tae9d6     | 636306276755847146 | 13192 | -1  | SnapshotHelper::RestoreSnapshotInternal SUCCESS - File.Copy
| 2017-05-17T14:21:15 | Verbose | myApp           | tae9d6     | 636306276756784690 | 13192 | -1  | SnapshotHelper::RestoreSnapshotInternal SUCCESS - process

我打印到stdout的日志在哪里?

【问题讨论】:

【参考方案1】:

1) 如果不存在,则在您的根文件夹 (D:\home\site\wwwroot) 中创建文件 iisnode.yml

2) 向其中添加以下行。

loggingEnabled: true
logDirectory: iisnode

完成后,您可以在D:\home\site\wwwroot\iisnode 中找到日志。

更多信息,请参考https://docs.microsoft.com/en-us/azure/app-service-web/web-sites-nodejs-debug#enable-logging。

【讨论】:

非常感谢。我的iisnode.yml 被称为issnode.yml 不幸的是,这些日志可以通过网络访问。为什么 MS 不能只将您在“日志流”中看到的节点日志路由到 blob 中!?【参考方案2】:

在 iisnode.yml 中进行上述设置后,您看到 D:\home\site\wwwroot\iisnode 的日志来自 BLOB 存储或文件系统。

【讨论】:

以上是关于如何为 Azure 上的 Node.js Api 应用启用 BLOB 日志记录?的主要内容,如果未能解决你的问题,请参考以下文章

如何为 80 端口上的网站制作 Node.js 多租户?

如何为 api 部署 node js express js,为前端部署 react js,为管理员部署 angular

如何为 Azure 移动应用表设置架构?

如何为 Node.js 的 require 函数添加钩子?

如何为多个产品托管相同的代码?

如何为 Http 触发的 Azure 函数(隔离/进程外)生成 Api 客户端?