c - 了解 Azure IoT Edge 模块

标签 c azure printf azure-iot-hub azure-iot-edge

我对 Azure 和 IoT Edge 非常陌生,我正在尝试了解模块的工作原理。

我遵循了这个很好的教程(https://learn.microsoft.com/en-us/azure/iot-edge/tutorial-c-module),一切似乎都运行正常。

我的问题是关于代码中的printf。 (例如这里的第 3 点: https://learn.microsoft.com/en-us/azure/iot-edge/tutorial-c-module#update-the-module-with-custom-code )

if (NULL == messageInstance)
{
    printf("Failed allocating 'MESSAGE_INSTANCE' for pipelined message\r\n");
}

输出打印在哪里?

通常它会在标准输出上,但我的模块在虚拟机的后台运行。显然我可以访问这个虚拟机。我怎样才能看到它?

这对我来说非常有用,可以更好地了解模块如何工作以及如何与 IoT 中心进行通信。

谢谢你帮助我

最佳答案

输出被写入模块日志文件。您可以通过使用 ssh 登录虚拟机然后使用以下命令来检查它:

sudo iotedge logs <yourModuleName>

添加 -f 选项使其遵循新的输出,并且使用 --tail 您可以将输出限制为日志文件的最后几行。

sudo iotedge logs <yourModuleName> -f --tail 100

显示日志文件的最后 100 行并添加新的输出。

关于c - 了解 Azure IoT Edge 模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54670587/

相关文章:

ios - C/XCode : sh: ./child : No such file or directory. 命令在终端中运行,但不在 XCode 中运行

c - 如何检测我是否是第一个实例或向同一应用程序的前一个实例发送 IPC 消息?

每行有多个命令的命令行解释器

c# - 检测 .NET 应用程序是在 Azure 还是非 Azure 环境中运行

ruby-on-rails - 是否可以使用 Rails NumberHelper 方法模拟 sprintf ("%g")的行为?

c++ - printf 语句中的 "%3d"是什么意思?

c - 虽然 true 不起作用

C MySQL 客户端库行为

azure - Azure 的最佳配置管理软件

powershell - 新-AzureRmADAppCredential : Exception of type 'System.Exception' was thrown