IoT Core 日志 SDK (Java)

物联网核心套件 IoTCore

  • 旧版文档
  • 产品定价
  • 功能发布记录
  • 产品描述
    • 产品概述
    • 产品优势
    • 核心概念
    • 系统限制
  • 快速入门
    • 使用规则引擎将设备消息流转到业务服务器
    • 创建设备
    • 操作演示
    • 获取连接信息
    • 快速入门流程
    • 创建 IoT Core 实例
    • 使用 MQTT 模拟器连接及收发消息
  • 典型实践
    • 数据转发到函数计算服务CFC
    • 数据转发到用户 Kafka
    • 设备状态数据存储到时序数据库TSDB
    • 数据转发到百度消息服务BMS
  • 服务等级协议SLA
    • 服务等级协议SLA(V2.0)
  • API参考
    • 设备管理
    • 概述
  • 常见问题
    • MQTT客户端及设备SDK相关问题
    • 使用选择
  • 开发者指南
    • 设备侧
      • 通过 IoT Core 官方 SDK 接入
      • 通过开源MQTT Client SDK接入
    • 服务侧
      • IoT Core 日志 SDK (Java)
      • 概述
  • 操作指南
    • 设备接入与管理
      • 应用权限
      • 创建设备
      • 设备影子
      • 管理模板
      • 共享订阅
      • 设备预配
      • 管理设备
      • 通过开放协议接入
        • 使用证书鉴权建立MQTT连接
        • 通过CoAP发布消息
        • 通过MQTT连接及收发消息
        • 通过HTTP发布消息
    • 实例管理
      • 修改实例
      • 创建实例
      • 停止及启动实例
      • 删除实例
    • 运维管理
      • 日志服务
    • 规则引擎
      • 常用查询语句示例
      • 数据目的地管理
      • 数据查询语法和函数
      • 操作步骤
      • 数据目的地
      • 数据筛选
      • 概述
所有文档
menu
没有找到结果,请重新输入

物联网核心套件 IoTCore

  • 旧版文档
  • 产品定价
  • 功能发布记录
  • 产品描述
    • 产品概述
    • 产品优势
    • 核心概念
    • 系统限制
  • 快速入门
    • 使用规则引擎将设备消息流转到业务服务器
    • 创建设备
    • 操作演示
    • 获取连接信息
    • 快速入门流程
    • 创建 IoT Core 实例
    • 使用 MQTT 模拟器连接及收发消息
  • 典型实践
    • 数据转发到函数计算服务CFC
    • 数据转发到用户 Kafka
    • 设备状态数据存储到时序数据库TSDB
    • 数据转发到百度消息服务BMS
  • 服务等级协议SLA
    • 服务等级协议SLA(V2.0)
  • API参考
    • 设备管理
    • 概述
  • 常见问题
    • MQTT客户端及设备SDK相关问题
    • 使用选择
  • 开发者指南
    • 设备侧
      • 通过 IoT Core 官方 SDK 接入
      • 通过开源MQTT Client SDK接入
    • 服务侧
      • IoT Core 日志 SDK (Java)
      • 概述
  • 操作指南
    • 设备接入与管理
      • 应用权限
      • 创建设备
      • 设备影子
      • 管理模板
      • 共享订阅
      • 设备预配
      • 管理设备
      • 通过开放协议接入
        • 使用证书鉴权建立MQTT连接
        • 通过CoAP发布消息
        • 通过MQTT连接及收发消息
        • 通过HTTP发布消息
    • 实例管理
      • 修改实例
      • 创建实例
      • 停止及启动实例
      • 删除实例
    • 运维管理
      • 日志服务
    • 规则引擎
      • 常用查询语句示例
      • 数据目的地管理
      • 数据查询语法和函数
      • 操作步骤
      • 数据目的地
      • 数据筛选
      • 概述
  • 文档中心
  • arrow
  • 物联网核心套件IoTCore
  • arrow
  • 开发者指南
  • arrow
  • 服务侧
  • arrow
  • IoT Core 日志 SDK (Java)
本页目录
  • 安装
  • 环境准备
  • 下载和安装
  • 快速入门
  • 配置并创建IotCoreLogger
  • Config参数说明
  • 接收日志
  • 日志解析

IoT Core 日志 SDK (Java)

更新时间:2025-08-21

安装

环境准备

  1. 运行环境 Java SDK工具包可在 jdk1.6、jdk1.7、jdk1.8环境下运行。
  2. 鉴权和认证 要使用百度智能云产品,您需要拥有一个百度智能云账号和一个有效的 AK(Access Key ID)、SK(Secret Access Key)用来进行签名认证。

    可以通过如下步骤获得并了解您的AK/SK信息:

    1. 注册百度智能云账号
    2. 创建AK/SK

下载和安装

使用Maven安装

在 Maven 中添加 iotcore-log-sdk 的依赖:

Plain Text
1<dependency>
2  <groupId>com.baidu.iot</groupId>
3  <artifactId>iotcore-log-sdk</artifactId>
4  <version>1.0.3</version>
5</dependency>

附此 SDK 的 Github 开源地址:https://github.com/baidu/iotcore-sdk-java

快速入门

配置并创建IotCoreLogger

Plain Text
1String iotCoreId = "yourIoTCoreId";                 // 天工平台创建的iotcore
2String username = "yourIoTCoreId/yourDeviceKey";    // 天工平台创建的设备用户名或签名
3char[] password = "yourDeviceSecret".toCharArray(); // 天工平台创建的设备密码或签名密钥
4
5// 获取mqtt连接信息配置,可选tcp、tls等多种配置方式,详见MqttConfigFactory实现
6MqttConfig mqttConfig = MqttConfigFactory.genPlainMqttConfig(iotCoreId, username, password);
7
8// 创建IotCoreLogger配置信息
9Config config = Config.builder()
10        .iotCoreId(iotCoreId)
11        .mqttConfig(mqttConfig)
12        .logLevel(LogLevel.INFO)
13        .includeLowerLevel(true)
14        .clientPoolSize(3)
15        .build();
16// 创建IotCoreLogger实例,用于接收日志
17IotCoreLoggerRegister register = new IotCoreLoggerRegister();
18IotCoreLogger logger = register.registerLogger(config).blockingGet();

Config参数说明

  • iotCoreId: 天工平台创建的iotcore id。
  • groupKey: 日志接收者所属的group,同一group中的IotCoreLogger共享所有的日志信息,默认为每次不同的随机值。可参考kafka consumer group进行理解。
  • logLevel: 接收日志的级别,可选ERROR、WARN、INFO、DEBUG,级别由低至高。
  • includeLowerLevel: 所选日志级别是否包含低级,如选择接收INFO级别日志,默认包含WARN及ERROR级别日志。
  • deviceKeys: 执行设备名称列表,只接收特定设备的运行日志。
  • clientPoolSize: 内部创建的mqtt client数量,最大100。可根据所接收的日志规模及速率适量选取,每个client最低支持100 qps的日志。
  • mqttConfig: 内部mqtt client使用相关配置,使用百度云创建的日志设备身份信息进行创建。

接收日志

日志接收提供rx风格的订阅接口,使用示例如下:

Plain Text
1logger.receive().subscribeWith(new DisposableObserver<LogEntry>() {
2    @Override
3    public void onNext(@NonNull LogEntry logEntry) {
4        // handle logEntry
5        System.out.println(logEntry);
6    }
7
8    @Override
9    public void onError(@NonNull Throwable e) {
10        // handle error
11        e.printStackTrace();
12        dispose();
13    }
14
15    @Override
16    public void onComplete() {
17        dispose();
18    }
19});

日志解析

sdk提供的日志LogEntry为proto中定义的原始日志格式,如需进一步的解析details中key值的含义,可参考iotcore-logger-standalone中的解析方式。

#零代码快速使用 为了进一步降低iotcore-log-sdk的理解及使用难度,提供了iotcore-logger-standalone模块,可以直接下载运行。运行参数如下:

Plain Text
1Usage: <main class> [options]
2  Options:
3    --clientCount
4      Total test client count
5      Default: 3
6    --deviceKeys
7      Logs only from the specific devices would arrive
8      Default: null
9    --help
10      Show help
11    --includeLowerLevel
12      Whether the log level should include the lower levels, such as INFO leven would include WARN and ERROR
13      Default: true
14  * --iotCoreId
15      Receive logs from this iotCore
16    --level
17      Level of the received logs: ERROR, WARN, INFO, DEBUG
18      Default: INFO
19  * --password
20      Mqtt client password
21    --uri
22      Mqtt broker uri
23  * --username
24      Mqtt client username

快速使用示例:

Plain Text
1nohup java -jar iotcore-logger-standalone.jar --iotCoreId axxxxxx --username axxxxxx/test --password hubKQZRMYaQXDgDe > logsdk.log 2>&1 &

上一篇
设备侧
下一篇
概述