azure - 如何显示来自azure iot设备客户端代码的日志消息

标签 azure iot azure-iot-sdk

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

相关文章:

c# - log4net 从自定义 appender 访问上下文属性

Azure 数据流 - 动态分组依据

amazon-web-services - 如何处理关系数据库中的AWS IOT流数据

android - 在不征求用户许可的情况下开启 Android LE 扫描

java - 如何通过 azure 设备配置服务将自定义错误消息从 azure 函数发送到 iot 设备?

iot - 设备的 MQTT 通信,对于 PubSub 数据,RabbitMQ 或 Azure ServiceBus for IotConnect 哪个更好?

SQL Server 日期范围查询性能

azure - 查找架构扩展属性设置为 null 的所有资源(用户)

database - 物联网云 : How to send data from MCU based hardware onto IAAS/SAAS cloud services?

c# - 无法在 ASP.NET MVC 中捕获异常