我对 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/