gpt4 book ai didi

logging - 使用远程桌面时,在哪里可以找到我的非 .NET 角色的日志?

转载 作者:行者123 更新时间:2023-12-03 01:57:42 24 4
gpt4 key购买 nike

我使用的是非 .NET 辅助角色,通过设置 ProgramEntryPoint 进行配置在服务定义中。这意味着 my application没有 .NET 代码 ,它是用 Java 和 Python 编写的。

当我在本地运行辅助角色时,我可以打开 Windows Azure 计算模拟器应用程序并查看辅助进程的标准输出和错误。

当我通过远程桌面访问我的 Azure 实例时,我不知道从哪里获取相同的信息。在哪里可以找到标准输出和错误?

最佳答案

直接回答上面的问题:

<ProgramEntryPoint commandLine="run.bat >> app.log 2>&amp;1" ... "/>

当您在计算模拟器中运行上述命令时,您要求将命令 shell 输出重定向到 run.bat 所在的同一位置。就是这样。当您在计算模拟器中启动辅助角色时,它会从 CSX 文件夹内的位置启动,并在其中创建 app.log。

现在,如果您采用完全相同的代码并部署在 Windows Azure 上,那么当执行“run.bat >> app.log”时,app.log 文件将直接在 run.bat 所在的位置创建位于。您可以在 RDP Azure 实例之后的 E:\Approot\中找到它。

上述方法是正确的,但策略不正确。这是因为:

  1. 日志不会在 Azure VM 中保留,因为 Azure VM 会被回收
  2. 您需要通过 RDP 到 Azure VM 进行检查,(如果您有 100 个实例,您会通过 RDP 到每个实例来获取日志吗?)

最好的策略是将第三方应用程序创建的这些自定义日志直接传输到 Azure 存储。

在任何存在自定义应用程序(即 java.exe、php.exe、python 等)的情况下,我建议直接在“本地存储”文件夹中创建日志文件,然后在辅助角色 (WorkerRole.cs) 中初始化 Azure 诊断将这些自定义日志文件直接从 Azure VM 导出到 Azure Blob 存储。

描述了如何在本地存储上创建自定义日志here

关于logging - 使用远程桌面时,在哪里可以找到我的非 .NET 角色的日志?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10827388/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com