快速开始

日志服务 BLS

  • 功能发布记录
  • 产品描述
    • 产品介绍
    • 使用限制
  • 产品定价
  • 快速入门
    • 简介
    • 安装收集器
    • 创建日志集
    • 创建传输任务
    • 日志分析和报警
    • 创建投递任务
    • 创建日志集
    • 简介
    • 日志分析和报警
    • 创建投递任务
    • 创建传输任务
    • 安装收集器
  • 操作指南
    • 百度智能云环境准备
    • 概览
    • 收集器
      • 主机安装收集器
      • 在k8s环境安装收集器
      • 设置收集器启动参数
      • 收集器管理
      • 收集器发行版本
    • 查询分析
      • 日志查询
      • 检索语法
      • SQL语法
    • 日志采集
      • 传输任务采集
        • 管理传输任务
        • 创建传输任务
      • 使用Kafka协议上传日志
    • 日志管理
      • 日志集管理
      • 日志视图
    • 仪表盘
      • 概述
      • 管理仪表盘
      • 管理仪表盘图表
    • 报警管理
      • 报警概述
      • 报警策略
        • 管理报警策略
        • 触发条件
      • 报警通知
        • 报警通知模版
        • 报警回调
      • 报警执行统计
      • 报警历史
    • 数据处理
      • 定时SQL分析
        • 创建定时SQL分析任务
        • 管理定时SQL分析任务
      • 日志投递
        • 日志投递概述
        • 创建投递任务
        • 管理投递任务
      • 数据加工
        • 数据加工函数总览
        • 事件操作函数
        • 字段值提取函数
        • 字段操作函数
        • 映射富化函数
        • 流程控制函数
      • 实时消费
    • 日志应用
      • 智能诊断
    • 多用户访问控制
  • 开发指南
    • API参考
      • API概述
      • 通用说明
      • 名词解释
      • 接口概览
      • 通用错误码
      • 服务域名
      • API功能发布记录
      • 日志组Project相关接口
        • 创建日志组CreateProject
        • 更新日志组UpdateProject
        • 删除日志组DeleteProject
        • 获取日志组列表ListProject
        • 获取日志组详情DescribeProject
      • 日志集LogStore相关接口
        • 创建日志集CreateLogStore
        • 修改日志集UpdateLogStore
        • 删除日志集DeleteLogStore
        • 获取日志集列表ListLogStore
        • 获取日志集详情DescribeLogStore
        • 批量获取日志集BatchGetLogStore
      • 日志流LogStream相关接口
        • 获取日志流列表ListLogStream
      • 日志记录LogRecord相关接口
        • 检索分析日志QueryLogRecord
        • 直方图接口QueryLogHistogram
        • 推送日志PushLogRecord
        • 获取日志记录PullLogRecord
      • 日志视图相关接口
        • 创建日志视图CreateLogStoreView
        • 修改日志视图UpdateLogStoreView
        • 删除日志视图DeleteLogStoreView
        • 获取日志视图列表ListLogStoreView
        • 获取日志视图详情DescribeLogStoreView
      • 下载日志Download相关接口
        • 创建下载任务CreateDownloadTask
        • 删除下载任务DeleteDownloadTask
        • 获取下载任务列表ListDownloadTask
        • 获取下载任务地址GetDownloadTaskLink
        • 获取下载任务详情DescribeDownloadTask
      • 快速查询FastQuery相关接口
        • 创建快速查询CreateFastQuery
        • 更新快速查询UpdateFastQuery
        • 删除快速查询DeleteFastQuery
        • 获取快速查询列表ListFastQuery
        • 获取快速查询详情DescribeFastQuery
      • 传输任务Task相关接口
        • 创建传输任务CreateTask
        • 更新传输任务UpdateTask
      • 报警Alarm相关接口
        • 创建报警策略CreateAlarmPolicy
        • 启用报警策略EnableAlarmPolicy
        • 获取报警历史详情DescribeAlarmRecord
        • 更新报警策略UpdateAlarmPolicy
        • 删除报警策略DeleteAlarmPolicy
        • 获取报警执行列表ListAlarmExecutions
        • 获取报警策略列表ListAlarmPolicy
        • 获取报警策略详情DescribeAlarmPolicy
        • 获取报警执行统计ListAlarmExecutionStats
        • 检验报警策略执行条件ValidateAlarmCondition
        • 禁用报警策略DisableAlarmPolicy
        • 获取报警历史列表ListAlarmRecord
        • 检验报警策略查询语句ValidateAlarmPolicySQL
      • 日志投递LogShipper相关接口
        • 创建日志投递CreateLogShipper
        • 更新日志投递UpdateLogShipper
        • 删除日志投递任务DeleteSingleLogShipper
        • 批量设置日志投递任务状态BulkSetLogShipperStatus
        • 设置日志投递任务状态SetSingleLogShipperStatus
        • 获取日志投递记录ListLogShipperRecord
        • 批量删除日志投递任务BulkDeleteLogShipper
        • 获取日志投递列表ListLogShipper
        • 获取日志投递详情GetLogShipper
      • 日志集模板相关接口
        • 创建日志集模板CreateLogStoreTemplate
        • 更新日志集模板UpdateLogStoreTemplate
        • 删除日志集模板DeleteLogStoreTemplates
        • 获取日志集模板列表DescribeLogStoreTemplates
        • 获取日志集模板详情DescribeLogStoreTemplate
      • 索引Index相关接口
        • 创建索引CreateIndex
        • 更新索引UpdateIndex
        • 删除索引DeleteIndex
        • 获取索引详情DescribeIndex
      • 兼容Elasticsearch相关接口
        • 检索和分析BLS日志 AsyncSearch
        • 查询索引列表 ResolveIndex
        • 推荐字段取值 TermsEnum
        • 获取索引字段列表 FieldCaps
    • SDK参考
      • SDK隐私政策
      • SDK开发者个人信息保护合规指引
      • Android & ISO SDK下载
      • Go SDK
        • 概述
        • 初始化
        • 安装SDK工具包
        • Project操作
        • 日志集LogStore操作
        • 日志流LogStream操作
        • 日志记录LogRecord操作
        • 日志投递LogShipper操作
        • 快速查询FastQuery操作
        • 下载任务操作
        • 索引Index操作
        • 版本发布记录
      • iOS SDK
        • 概述
        • 快速开始
        • 版本发布记录
      • Java SDK
        • 概述
        • 日志记录LogRecord操作
        • 安装SDK工具包
      • Android SDK
        • 概述
        • 快速开始
        • 版本发布记录
    • 导入SLS采集配置
  • 最佳实践
    • 使用同环比作为报警触发条件
    • 通过Grafana使用BLS
    • 使用Grafana访问日志服务的Elasticsearch兼容接口
    • BLS接入Kibana
  • 常见问题
    • 常见问题总览
    • 配置类问题
    • 故障类问题
  • 日志服务等级协议SLA
所有文档
menu
没有找到结果,请重新输入

日志服务 BLS

  • 功能发布记录
  • 产品描述
    • 产品介绍
    • 使用限制
  • 产品定价
  • 快速入门
    • 简介
    • 安装收集器
    • 创建日志集
    • 创建传输任务
    • 日志分析和报警
    • 创建投递任务
    • 创建日志集
    • 简介
    • 日志分析和报警
    • 创建投递任务
    • 创建传输任务
    • 安装收集器
  • 操作指南
    • 百度智能云环境准备
    • 概览
    • 收集器
      • 主机安装收集器
      • 在k8s环境安装收集器
      • 设置收集器启动参数
      • 收集器管理
      • 收集器发行版本
    • 查询分析
      • 日志查询
      • 检索语法
      • SQL语法
    • 日志采集
      • 传输任务采集
        • 管理传输任务
        • 创建传输任务
      • 使用Kafka协议上传日志
    • 日志管理
      • 日志集管理
      • 日志视图
    • 仪表盘
      • 概述
      • 管理仪表盘
      • 管理仪表盘图表
    • 报警管理
      • 报警概述
      • 报警策略
        • 管理报警策略
        • 触发条件
      • 报警通知
        • 报警通知模版
        • 报警回调
      • 报警执行统计
      • 报警历史
    • 数据处理
      • 定时SQL分析
        • 创建定时SQL分析任务
        • 管理定时SQL分析任务
      • 日志投递
        • 日志投递概述
        • 创建投递任务
        • 管理投递任务
      • 数据加工
        • 数据加工函数总览
        • 事件操作函数
        • 字段值提取函数
        • 字段操作函数
        • 映射富化函数
        • 流程控制函数
      • 实时消费
    • 日志应用
      • 智能诊断
    • 多用户访问控制
  • 开发指南
    • API参考
      • API概述
      • 通用说明
      • 名词解释
      • 接口概览
      • 通用错误码
      • 服务域名
      • API功能发布记录
      • 日志组Project相关接口
        • 创建日志组CreateProject
        • 更新日志组UpdateProject
        • 删除日志组DeleteProject
        • 获取日志组列表ListProject
        • 获取日志组详情DescribeProject
      • 日志集LogStore相关接口
        • 创建日志集CreateLogStore
        • 修改日志集UpdateLogStore
        • 删除日志集DeleteLogStore
        • 获取日志集列表ListLogStore
        • 获取日志集详情DescribeLogStore
        • 批量获取日志集BatchGetLogStore
      • 日志流LogStream相关接口
        • 获取日志流列表ListLogStream
      • 日志记录LogRecord相关接口
        • 检索分析日志QueryLogRecord
        • 直方图接口QueryLogHistogram
        • 推送日志PushLogRecord
        • 获取日志记录PullLogRecord
      • 日志视图相关接口
        • 创建日志视图CreateLogStoreView
        • 修改日志视图UpdateLogStoreView
        • 删除日志视图DeleteLogStoreView
        • 获取日志视图列表ListLogStoreView
        • 获取日志视图详情DescribeLogStoreView
      • 下载日志Download相关接口
        • 创建下载任务CreateDownloadTask
        • 删除下载任务DeleteDownloadTask
        • 获取下载任务列表ListDownloadTask
        • 获取下载任务地址GetDownloadTaskLink
        • 获取下载任务详情DescribeDownloadTask
      • 快速查询FastQuery相关接口
        • 创建快速查询CreateFastQuery
        • 更新快速查询UpdateFastQuery
        • 删除快速查询DeleteFastQuery
        • 获取快速查询列表ListFastQuery
        • 获取快速查询详情DescribeFastQuery
      • 传输任务Task相关接口
        • 创建传输任务CreateTask
        • 更新传输任务UpdateTask
      • 报警Alarm相关接口
        • 创建报警策略CreateAlarmPolicy
        • 启用报警策略EnableAlarmPolicy
        • 获取报警历史详情DescribeAlarmRecord
        • 更新报警策略UpdateAlarmPolicy
        • 删除报警策略DeleteAlarmPolicy
        • 获取报警执行列表ListAlarmExecutions
        • 获取报警策略列表ListAlarmPolicy
        • 获取报警策略详情DescribeAlarmPolicy
        • 获取报警执行统计ListAlarmExecutionStats
        • 检验报警策略执行条件ValidateAlarmCondition
        • 禁用报警策略DisableAlarmPolicy
        • 获取报警历史列表ListAlarmRecord
        • 检验报警策略查询语句ValidateAlarmPolicySQL
      • 日志投递LogShipper相关接口
        • 创建日志投递CreateLogShipper
        • 更新日志投递UpdateLogShipper
        • 删除日志投递任务DeleteSingleLogShipper
        • 批量设置日志投递任务状态BulkSetLogShipperStatus
        • 设置日志投递任务状态SetSingleLogShipperStatus
        • 获取日志投递记录ListLogShipperRecord
        • 批量删除日志投递任务BulkDeleteLogShipper
        • 获取日志投递列表ListLogShipper
        • 获取日志投递详情GetLogShipper
      • 日志集模板相关接口
        • 创建日志集模板CreateLogStoreTemplate
        • 更新日志集模板UpdateLogStoreTemplate
        • 删除日志集模板DeleteLogStoreTemplates
        • 获取日志集模板列表DescribeLogStoreTemplates
        • 获取日志集模板详情DescribeLogStoreTemplate
      • 索引Index相关接口
        • 创建索引CreateIndex
        • 更新索引UpdateIndex
        • 删除索引DeleteIndex
        • 获取索引详情DescribeIndex
      • 兼容Elasticsearch相关接口
        • 检索和分析BLS日志 AsyncSearch
        • 查询索引列表 ResolveIndex
        • 推荐字段取值 TermsEnum
        • 获取索引字段列表 FieldCaps
    • SDK参考
      • SDK隐私政策
      • SDK开发者个人信息保护合规指引
      • Android & ISO SDK下载
      • Go SDK
        • 概述
        • 初始化
        • 安装SDK工具包
        • Project操作
        • 日志集LogStore操作
        • 日志流LogStream操作
        • 日志记录LogRecord操作
        • 日志投递LogShipper操作
        • 快速查询FastQuery操作
        • 下载任务操作
        • 索引Index操作
        • 版本发布记录
      • iOS SDK
        • 概述
        • 快速开始
        • 版本发布记录
      • Java SDK
        • 概述
        • 日志记录LogRecord操作
        • 安装SDK工具包
      • Android SDK
        • 概述
        • 快速开始
        • 版本发布记录
    • 导入SLS采集配置
  • 最佳实践
    • 使用同环比作为报警触发条件
    • 通过Grafana使用BLS
    • 使用Grafana访问日志服务的Elasticsearch兼容接口
    • BLS接入Kibana
  • 常见问题
    • 常见问题总览
    • 配置类问题
    • 故障类问题
  • 日志服务等级协议SLA
  • 文档中心
  • arrow
  • 日志服务BLS
  • arrow
  • 开发指南
  • arrow
  • SDK参考
  • arrow
  • Android SDK
  • arrow
  • 快速开始
本页目录
  • 简介
  • 环境要求
  • 安装 SDK 包
  • 安装步骤
  • 配置权限
  • SDK 目录结构
  • 快速入门

快速开始

更新时间:2025-11-14

简介

本文档主要介绍百度云日志服务 Android SDK 的安装和使用

本文档假设您已经开通了百度智能云日志服务

如果您还没有开通或者还不了解日志服务,请登录 日志服务产品主页 获取更多的帮助。

环境要求

  • Android 系统版本:2.3 及以上
  • 必须注册有百度智能云用户账户,并开通日志服务

安装 SDK 包

日志服务 Android SDK 依赖于 OKhttp,gson。

安装步骤

  1. 在 百度智能云开发者中心 的客户端 SDK 列表找到百度日志服务,下载 SDK 压缩包。
  2. 解压得到 jar 包。目前 jar 包应该包含三个文件,分别是:bls-android-sdk-1.X.X.jar、okhttp-3.x.x.jar 和 gson-2.x.x.jar。
  3. 将 jar 包复制到您的 Android 工程的 lib (libs) 目录下。
  4. 在 Eclipse 右键工程 ->Properties->Java Build Path->Add JARs,导入您刚才复制的 jar 包。在 Android Studio 右键项目 ->Open Module Settings-> 选择项目模块 ->Dependencies->+,选择 File dependency,在 lib (libs) 目录下选择复制的 jar 包就可以完成导入。

配置权限

以下是日志服务 Android SDK 所需要的 Android 权限,请确保您的工程中 AndroidManifest.xml 文件中已经配置了如下权限,否则,SDK 将无法正常运行。

XML
1<uses-permission android:name="android.permission.INTERNET"/>
2<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
3<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
4<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
5<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

SDK 目录结构

Plain Text
1com.baidubce
2       ├── auth                                        // BCE 签名相关类
3       ├── http                                        // BCE 的 Http 通信相关类
4       ├── internal                                    // SDK 内部类
5       ├── model                                       // BCE 公用 model 类
6       ├── services
7       │       └── bls                                
8       │           ├── request                         // BLS 内部 model,如 Request 或 Response
9       │           ├── BlsClient.class                 // BLS 客户端入口类
10       │           └── BlsClientConfiguration.class    // 针对 BLS 特有的 HttpClient 的配置
11       ├── util                                        // BCE 公用工具类
12       ├── BceClientConfiguration.class                // 对 BCE 的 HttpClient 的配置
13       ├── BceClientException.class                    // BCE 客户端的异常类
14       ├── BceServiceException.class                   // 与 BCE 服务端交互后的异常类
15       ├── ErrorCode.class                             // BCE 通用的错误码
16       └── Region.class                                // BCE 提供服务的区域

快速入门

以下演示了上传 log 的基本流程。

  1. 初始化 BlsClient,可查看 MainActivity 中 init () 方法。(可用的 Endpoint 可以在 API参考-服务域名查看。)
JAVA
1    // 所有的 API 通过 AK(Access Key ID)/SK(Secret Access Key)完成请求签名以通过服务端的鉴权和认证
2    String ak = "***";
3    String sk = "***";
4    // 设置鉴权
5    DefaultBceCredentials stsCredentials = new DefaultBceCredentials(ak, sk);
6    // 配置信息
7    LogClientConfiguration blsConfig = new LogClientConfiguration();
8    blsConfig.setCredentials(stsCredentials);
9    // 设置 endpoint
10    blsConfig.setEndpoint(BLS_ENDPOINT);
11    // 设置重试最大次数,每次重试的延迟时间
12    blsConfig.setRetryPolicy(new DefaultRetryPolicy(RETRY_MAX, RETRY_DELAY));
13    // 设置超时时长
14    blsConfig.withSocketTimeoutInMillis(DEFAULT_TIMEOUT_IN_MILLIS);
15    // 初始化 client
16    logClient = new BlsClient(blsConfig);
  1. 初始化日志,然后用 client 进行上传。日志记录的格式可以是 TEXT,也可以是 JSON 格式。如果是 TEXT,则不对日志进行解析;如果是 JSON 格式,可以自动发现 JSON 字段(仅支持首层字段发现,暂不支持嵌套类型字段的自动发现)。

    1. 上传 TEXT 类型日志
    JAVA
    1    //logstore name,,用户自行设置
    2    String logStoreName = createdLogStoreName;
    3
    4    //logstream name ,用户自行设置
    5    String logStreamName = Settings.System.getString(MainActivity.this.getContentResolver(),Settings.System.ANDROID_ID);
    6    // 设置日志结构
    7    List<LogRecord> logRecordList = new ArrayList<LogRecord>();
    8    LogRecord record = new LogRecord();
    9    record.setMessage("this is log.");
    10    record.setTimestamp(System.currentTimeMillis());
    11    logRecordList.add(record);
    12    // 上传日志请求
    13    PushLogRequest pushLogRequest = new PushLogRequest(logStoreName, logStreamName, logRecordList);
    14    PushLogResponse response = logClient.pushLog(pushLogRequest);
    15    boolean isSuccess = response.getHttpResponse().getStatusCode() == StatusCodes.HTTP_OK;
    16    Log.e("main", "push log result: " + isSuccess);
    1. 上传 JSON 格式日志
    JAVA
    1    //logstore name,,用户自行设置
    2    String logStoreName = createdLogStoreName;
    3
    4    //logstream name ,用户自行设置
    5    String logStreamName = Settings.System.getString(MainActivity.this.getContentResolver(),Settings.System.ANDROID_ID);
    6    // 设置日志结构
    7    List<LogRecord> logRecordList = new ArrayList<LogRecord>();
    8    LogRecord record = new LogRecord(); 
    9    record.setMessage("{\"level\":\"info\", \"status\": 200, \"cost\": 304.87}");
    10    record.setTimestamp(System.currentTimeMillis());
    11    logRecordList.add(record);
    12    // 上传日志请求
    13    PushLogRequest pushLogRequest = new PushLogRequest(logStoreName, logStreamName, "JSON", logRecordList);
    14    PushLogResponse response = logClient.pushLog(pushLogRequest);
    15    boolean isSuccess = response.getHttpResponse().getStatusCode() == StatusCodes.HTTP_OK;
    16    Log.e("main", "push log result: " + isSuccess);
    1. 如果既想上传日志原文,又想上传解析出的具体字段,可以使用 JSON 格式进行上传,并在 JSON 中包含日志原文,使用 @raw 作为key,日志原文作为 value。 BLS 解析到 @raw 的时候,会将其内容作为日志原文处理。
    JAVA
    1    //logstore name,,用户自行设置
    2    String logStoreName = createdLogStoreName;
    3
    4    //logstream name ,用户自行设置
    5    String logStreamName = Settings.System.getString(MainActivity.this.getContentResolver(),Settings.System.ANDROID_ID);
    6    // 设置日志结构
    7    List<LogRecord> logRecordList = new ArrayList<LogRecord>();
    8    LogRecord record = new LogRecord();
    9    record.setMessage("{\"@raw\":\"info 200 304.87ms this is log.\", \"level\":\"info\", \"status\": 200, \"cost\": 304.87}");
    10    record.setTimestamp(System.currentTimeMillis());
    11    logRecordList.add(record);
    12    // 上传日志请求
    13    PushLogRequest pushLogRequest = new PushLogRequest(logStoreName, logStreamName, "JSON", logRecordList);
    14    PushLogResponse response = logClient.pushLog(pushLogRequest);
    15    boolean isSuccess = response.getHttpResponse().getStatusCode() == StatusCodes.HTTP_OK;
    16    Log.e("main", "push log result: " + isSuccess);

关于 SDK 使用到的 API 具体用法,可以参考:API参考-概览

上一篇
概述
下一篇
版本发布记录