我在 azure iot 设备客户端源代码中看到如下日志消息: log.debug("TransportClient 已打开连接。");或者 log.info("设备客户端打开成功");
我的问题是这些日志消息去哪里了?如何获取该消息用于调试目的? 谢谢
最佳答案
一般来说,Blob 存储被添加为“日志记录端点”,其中应包含存储帐户、帐户中的容器以及容器中的 Blob。 “ block blob”类型的 blob 应用于存储文本和二进制数据。
所有日志都存储在名为 $logs 的容器中的“ block blob”中,该容器是在为存储帐户启用存储分析时自动创建的。 $logs 容器位于存储帐户的 blob 命名空间中,例如:http://.blob.core.windows.net/$logs
要查看和分析日志数据,您应该将包含您感兴趣的日志数据的 blob 下载到本地计算机。有许多工具可用于将数据导入到存储帐户或从存储帐户导出数据,例如 AzCopy、Azure 存储数据移动库、Azure 导入/导出服务。若要查看日志,还可以使用任何可以访问 Azure Blob 存储的工具,例如 Visual Studio 或 Cerebrata Azure Management Studio。
对于 azure-iot-sdk,每个 IoT 中心都会公开一组端点(服务端点),以便解决方案的后端与设备进行通信。 IoT 中心有一个默认的内置端点(消息/事件)。默认情况下,消息将路由到与事件中心兼容的内置的面向服务的终结点(消息/事件)。您可以引用下面的链接了解从内置端点读取的各种方法 https://learn.microsoft.com/en-us/azure/iot-hub/iot-hub-devguide-messages-read-builtin
您还可以创建自定义端点,通过将订阅中的其他服务链接到 IoT 中心来将消息路由到其中。如果创建了自定义端点,消息将被路由到其路由查询与其匹配的多个端点。有两种存储服务 IoT 中心可以将消息路由到 Azure Blob 存储和 ADLS (Azure Data Lake Storage) Gen2 帐户。您可以引用下面的链接了解从自定义端点读取的各种方法https://learn.microsoft.com/en-us/azure/iot-hub/iot-hub-devguide-messages-read-custom
对于 IoT SDK 本身的日志场景,日志可以根据日志类型和部署环境记录在 stdout 或 stderr 中,也可以根据需求进行相应的重定向。 SDK 使用调试库来获取详细日志。以下链接有助于提供更多详细信息 https://github.com/Azure/azure-iot-sdk-node/wiki/Troubleshooting-Guide-Devices
关于azure - 如何显示来自azure iot设备客户端代码的日志消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59314041/