Azure NodeJS 控制台日志
Azure NodeJS console log
我有一个 Visual Studio Enterprise MSDN 订阅,所以我决定从 Heroku 转移到 Microsoft Azure,因为我过去要付费:现在我不用了。我的服务计划是 D1。
我希望我可以跟踪部署在我的 Azure 平台上的 Node JS 应用程序的 console.log 字符串。我的服务计划是名为
我在 BitBucket 上部署了应用程序代码,并将我的存储库链接到具有正确分布的应用程序。正确意味着我看到了绿色复选标记。我在应用程序的主文件夹中部署了一个名为 IISNode.yml 的文件,内容如下:
nodeProcessCommandLine: "D:\Program Files (x86)\nodejs[=10=].12.6\node.exe"
loggingEnabled: true
debuggingEnabled: false
devErrorsEnabled: false
node_env: production
我从 Azure 自己创建的 iisnode.yml 复制的第一行。其他几行我不太确定它们的确切含义,但我认为它们就足够了。如果我访问 url: http://MY_APP_NAME.scm.azurewebsites.net/DebugConsole 我可以点击 Tools->Log Stream 菜单,但页面仍在加载中。
我可以访问 Azure 门户,输入我的节点应用程序、工具 -> 应用程序日志和 Web 服务器日志。应用程序日志显示此(我认为很有趣)消息:
System.ApplicationException: The trace listener AzureBlobTraceListener is disabled. ---> System.InvalidOperationException: The SAS URL for the cloud storage account is not specified. Use the environment variable 'DIAGNOSTICS_AZUREBLOBCONTAINERSASURL' to define it.
at Microsoft.WindowsAzure.WebSites.Diagnostics.AzureBlobTraceListener.RefreshConfig()
我还没有得到关于这个 "environment variable" 的信息,我无法猜测 BLOB 容器与我的日志应用程序有什么关系。并且:这个变量的正确值是多少?如果有的话,为什么那个是正确的?
Web 服务器日志为空。我可以在同一门户上从应用程序的监视器中看到 http 活动,但仍然没有日志。
我错过了什么吗?我决定安装 Visual Studio,也许这会有帮助?我希望这有可以与 Azure 永久集成的工具。同时,我的(极简单)节点应用程序的控制台日志在哪里?
您可以在 iisnode.yml
中添加一个名为 logDirectory
的项目,例如将值设置为 iisnode
,然后应用程序将在您的根目录中创建一个以此名称命名的文件夹,并且存储带有 stdout 和 stderr 捕获的文件。这个配置的详细内容可以参考https://github.com/tjanczuk/iisnode/blob/master/src/samples/configuration/iisnode.yml#L94
您可以通过 console.log()
将日志存储在任何您需要的文件中,然后应用程序将在日志文件夹中创建一个 html 文件 index.html
以提供日志。您可以通过 URL 访问日志:http://<you_app_name>.azurewebsites.net/<log_file_name>/index.html
此外,您可以利用 Node.js 控制台 class 自定义记录器,请参阅 https://nodejs.org/api/console.html#console_new_console_stdout_stderr 示例
如果您使用 azure SCM 界面,您可以实时查看您的日志。这通常可以在以下 url
上访问
https://{{ name of webapp }}.scm.azurewebsites.net/api/logstream
您的应用程序的所有控制台输出都重定向到此处。
你也可以使用curl:
curl -u {{ deploymentCredentialsUsername:deploymentCredentialsPassword }} https://webapp-name.acm.azurewebsites.net/api/logstream
否则你可以使用 nodejs azure cli。使用
安装
npm install -g azure-cli
切换到 asm 模式:
azure config mode asm
然后您可以继续从您的终端查看日志:
azure site log tail {{ webapp name }}
如果您使用的是 Azure 门户 Web 界面,您可以在 Monitoring[=20] 下的 Log Stream 部分找到 console.log
输出=].
参考下面的截图:
我有一个 Visual Studio Enterprise MSDN 订阅,所以我决定从 Heroku 转移到 Microsoft Azure,因为我过去要付费:现在我不用了。我的服务计划是 D1。 我希望我可以跟踪部署在我的 Azure 平台上的 Node JS 应用程序的 console.log 字符串。我的服务计划是名为 我在 BitBucket 上部署了应用程序代码,并将我的存储库链接到具有正确分布的应用程序。正确意味着我看到了绿色复选标记。我在应用程序的主文件夹中部署了一个名为 IISNode.yml 的文件,内容如下:
nodeProcessCommandLine: "D:\Program Files (x86)\nodejs[=10=].12.6\node.exe"
loggingEnabled: true
debuggingEnabled: false
devErrorsEnabled: false
node_env: production
我从 Azure 自己创建的 iisnode.yml 复制的第一行。其他几行我不太确定它们的确切含义,但我认为它们就足够了。如果我访问 url: http://MY_APP_NAME.scm.azurewebsites.net/DebugConsole 我可以点击 Tools->Log Stream 菜单,但页面仍在加载中。 我可以访问 Azure 门户,输入我的节点应用程序、工具 -> 应用程序日志和 Web 服务器日志。应用程序日志显示此(我认为很有趣)消息:
System.ApplicationException: The trace listener AzureBlobTraceListener is disabled. ---> System.InvalidOperationException: The SAS URL for the cloud storage account is not specified. Use the environment variable 'DIAGNOSTICS_AZUREBLOBCONTAINERSASURL' to define it.
at Microsoft.WindowsAzure.WebSites.Diagnostics.AzureBlobTraceListener.RefreshConfig()
我还没有得到关于这个 "environment variable" 的信息,我无法猜测 BLOB 容器与我的日志应用程序有什么关系。并且:这个变量的正确值是多少?如果有的话,为什么那个是正确的?
Web 服务器日志为空。我可以在同一门户上从应用程序的监视器中看到 http 活动,但仍然没有日志。
我错过了什么吗?我决定安装 Visual Studio,也许这会有帮助?我希望这有可以与 Azure 永久集成的工具。同时,我的(极简单)节点应用程序的控制台日志在哪里?
您可以在 iisnode.yml
中添加一个名为 logDirectory
的项目,例如将值设置为 iisnode
,然后应用程序将在您的根目录中创建一个以此名称命名的文件夹,并且存储带有 stdout 和 stderr 捕获的文件。这个配置的详细内容可以参考https://github.com/tjanczuk/iisnode/blob/master/src/samples/configuration/iisnode.yml#L94
您可以通过 console.log()
将日志存储在任何您需要的文件中,然后应用程序将在日志文件夹中创建一个 html 文件 index.html
以提供日志。您可以通过 URL 访问日志:http://<you_app_name>.azurewebsites.net/<log_file_name>/index.html
此外,您可以利用 Node.js 控制台 class 自定义记录器,请参阅 https://nodejs.org/api/console.html#console_new_console_stdout_stderr 示例
如果您使用 azure SCM 界面,您可以实时查看您的日志。这通常可以在以下 url
上访问https://{{ name of webapp }}.scm.azurewebsites.net/api/logstream
您的应用程序的所有控制台输出都重定向到此处。
你也可以使用curl:
curl -u {{ deploymentCredentialsUsername:deploymentCredentialsPassword }} https://webapp-name.acm.azurewebsites.net/api/logstream
否则你可以使用 nodejs azure cli。使用
安装npm install -g azure-cli
切换到 asm 模式:
azure config mode asm
然后您可以继续从您的终端查看日志:
azure site log tail {{ webapp name }}
如果您使用的是 Azure 门户 Web 界面,您可以在 Monitoring[=20] 下的 Log Stream 部分找到 console.log
输出=].
参考下面的截图: