3

我最近将我的 nodeJs 机器人部署到 Bot Service,但我似乎无法弄清楚如何生成和查看它的日志。

  • 当我尝试启用日志记录时,我不断收到未知错误
  • 查看服务器上的日志文件,没有记录节点应用程序的文件
  • 试图登录到应用程序洞察力,但没有成功。

帮助?

4

1 回答 1

1

假设您的机器人通过应用服务通过 Azure 托管,您应该能够通过执行以下步骤从 NodeJS 应用程序中查看日志记录:

启用日志记录

  1. 单击 Azure 仪表板上的应用服务框,或通过顶部搜索栏导航到资源。
  2. 在侧面菜单中的监控下,导航到诊断日志。
  3. 确保应用程序日志记录(文件系统)已打开。
  4. 现在,在您的 NodeJS 应用程序\site\wwwroot的根目录中,您要创建一个名为IISNode.yml的文件,并在其中写入行loggingEnabled: true。这将使您的应用程序能够写入stderr和写入stdout日志流。
  5. 从这里,您只需要访问应用程序的日志流,有 3 种方式。

访问日志流

就个人而言,我更喜欢使用Azure 命令行界面,您可以使用节点包管理器或npm 轻松安装它。

要安装 Azure CLI,请在终端上发出以下命令:

npm install -g azure-cli

或者sudo npm install -g azure-cli如果您需要 root 权限。

如果您需要有关如何安装 Azure CLI 的更多信息,请查看此处。

现在您必须通过 Azure CLI 登录您的 Azure 帐户,以便它可以访问您的订阅。这是通过azure login.

通过命令行完成登录后,需要使用命令切换到服务管理模式azure config mode asm

然后,您可以使用azure site list获取当前 Azure 站点的列表。

在列表中,找到您想要记录日志的站点,并在名称列中找到其名称。然后使用该命令azure site log tail <sitename>,终端将开始直接从您的应用程序输出实时日志!

其他选项

上述方法只是可用于访问这些日志的 3 种方法中的一种。如果您想了解有关其他 2 种方法的更多信息,请点击此链接。

上面的链接还包含我在帖子中概述的许多信息。

我希望这有帮助!

于 2017-03-01T00:17:29.230 回答